
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void dwarf2dbg_final_check(void)

{
  int iVar1;
  expressionS *peVar2;
  char *format;
  symbolS *symp;
  valueT vVar3;
  
  while( true ) {
    if (view_assert_failed == (symbolS *)0x0) {
      return;
    }
    iVar1 = symbol_resolved_p(view_assert_failed);
    if (iVar1 != 0) break;
    peVar2 = symbol_get_value_expression(view_assert_failed);
    symp = view_assert_failed;
    if (((peVar2->field_0x10 == '\x13') &&
        (*(int *)((int)&peVar2->X_add_number + 4) == 0 && (int)peVar2->X_add_number == 0)) &&
       ((peVar2->field_0x11 & 1) != 0)) {
      view_assert_failed = peVar2->X_add_symbol;
      symp = peVar2->X_op_symbol;
    }
    else {
      view_assert_failed = (symbolS *)0x0;
    }
    vVar3 = resolve_symbol_value(symp);
    iVar1 = symbol_resolved_p(symp);
    if ((iVar1 == 0) || (vVar3 != 0)) {
      format = (char *)dcgettext(0,"view number mismatch",5);
      as_bad(format);
      return;
    }
  }
                    /* WARNING: Subroutine does not return */
  as_abort("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");
}



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

void FUN_0001d490(void)

{
  int iVar1;
  int *piVar2;
  undefined4 uVar3;
  longlong lVar4;
  
  while( true ) {
    if (DAT_00088954 == 0) {
      return;
    }
    iVar1 = FUN_0003bbf0(DAT_00088954);
    if (iVar1 != 0) break;
    piVar2 = (int *)FUN_0003b610(DAT_00088954);
    iVar1 = DAT_00088954;
    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&
       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {
      DAT_00088954 = *piVar2;
      iVar1 = piVar2[1];
    }
    else {
      DAT_00088954 = 0;
    }
    lVar4 = FUN_00039000(iVar1);
    iVar1 = FUN_0003bbf0(iVar1);
    if ((iVar1 == 0) || (lVar4 != 0)) {
      uVar3 = dcgettext(0,"view number mismatch",5);
      FUN_0002bd60(uVar3);
      return;
    }
  }
                    /* WARNING: Subroutine does not return */
  FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016000
ADD EBX,0x62b67
SUB ESP,0xc
JMP 0x0001d4d2
MOV dword ptr [EBX + 0x8954],0x0
SUB ESP,0xc
PUSH ESI
CALL 0x00039000
MOV dword ptr [ESP],ESI
MOV EDI,EAX
MOV EBP,EDX
CALL 0x0003bbf0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0001d528
OR EDI,EBP
JNZ 0x0001d528
MOV EAX,dword ptr [EBX + 0x8954]
TEST EAX,EAX
JZ 0x0001d546
SUB ESP,0xc
PUSH EAX
CALL 0x0003bbf0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0001d54e
SUB ESP,0xc
PUSH dword ptr [EBX + 0x8954]
CALL 0x0003b610
ADD ESP,0x10
MOV ESI,dword ptr [EBX + 0x8954]
CMP byte ptr [EAX + 0x10],0x13
JNZ 0x0001d4a8
MOV EDX,dword ptr [EAX + 0xc]
OR EDX,dword ptr [EAX + 0x8]
JNZ 0x0001d4a8
TEST byte ptr [EAX + 0x11],0x1
JZ 0x0001d4a8
MOV EDX,dword ptr [EAX]
MOV ESI,dword ptr [EAX + 0x4]
MOV dword ptr [EBX + 0x8954],EDX
JMP 0x0001d4b2
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdd19d]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EAX
CALL 0x0002bd60
ADD ESP,0x10
ADD ESP,0xc
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffdd3e4]
PUSH EAX
LEA EAX,[EBX + 0xfffdd163]
PUSH 0x8d4
PUSH EAX
CALL 0x0002be80
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0001d490(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  \n  while( true ) {\n    if (DAT_00088954 == 0) {\n      return;\n    }\n    iVar1 = FUN_0003bbf0(DAT_00088954);\n    if (iVar1 != 0) break;\n    piVar2 = (int *)FUN_0003b610(DAT_00088954);\n    iVar1 = DAT_00088954;\n    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }\n    lVar4 = FUN_00039000(iVar1);\n    iVar1 = FUN_0003bbf0(iVar1);\n    if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");\n}\n\n" comment (function_definition "void FUN_0001d490(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  \n  while( true ) {\n    if (DAT_00088954 == 0) {\n      return;\n    }\n    iVar1 = FUN_0003bbf0(DAT_00088954);\n    if (iVar1 != 0) break;\n    piVar2 = (int *)FUN_0003b610(DAT_00088954);\n    iVar1 = DAT_00088954;\n    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }\n    lVar4 = FUN_00039000(iVar1);\n    iVar1 = FUN_0003bbf0(iVar1);\n    if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");\n}" primitive_type (function_declarator "FUN_0001d490(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  \n  while( true ) {\n    if (DAT_00088954 == 0) {\n      return;\n    }\n    iVar1 = FUN_0003bbf0(DAT_00088954);\n    if (iVar1 != 0) break;\n    piVar2 = (int *)FUN_0003b610(DAT_00088954);\n    iVar1 = DAT_00088954;\n    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }\n    lVar4 = FUN_00039000(iVar1);\n    iVar1 = FUN_0003bbf0(iVar1);\n    if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "longlong lVar4;" type_identifier identifier ;) (while_statement "while( true ) {\n    if (DAT_00088954 == 0) {\n      return;\n    }\n    iVar1 = FUN_0003bbf0(DAT_00088954);\n    if (iVar1 != 0) break;\n    piVar2 = (int *)FUN_0003b610(DAT_00088954);\n    iVar1 = DAT_00088954;\n    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }\n    lVar4 = FUN_00039000(iVar1);\n    iVar1 = FUN_0003bbf0(iVar1);\n    if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    if (DAT_00088954 == 0) {\n      return;\n    }\n    iVar1 = FUN_0003bbf0(DAT_00088954);\n    if (iVar1 != 0) break;\n    piVar2 = (int *)FUN_0003b610(DAT_00088954);\n    iVar1 = DAT_00088954;\n    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }\n    lVar4 = FUN_00039000(iVar1);\n    iVar1 = FUN_0003bbf0(iVar1);\n    if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }\n  }" { (if_statement "if (DAT_00088954 == 0) {\n      return;\n    }" if (parenthesized_expression "(DAT_00088954 == 0)" ( (binary_expression "DAT_00088954 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "iVar1 = FUN_0003bbf0(DAT_00088954);" (assignment_expression "iVar1 = FUN_0003bbf0(DAT_00088954)" identifier = (call_expression "FUN_0003bbf0(DAT_00088954)" identifier (argument_list "(DAT_00088954)" ( identifier )))) ;) (if_statement "if (iVar1 != 0) break;" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar2 = (int *)FUN_0003b610(DAT_00088954);" (assignment_expression "piVar2 = (int *)FUN_0003b610(DAT_00088954)" identifier = (cast_expression "(int *)FUN_0003b610(DAT_00088954)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003b610(DAT_00088954)" identifier (argument_list "(DAT_00088954)" ( identifier ))))) ;) (expression_statement "iVar1 = DAT_00088954;" (assignment_expression "iVar1 = DAT_00088954" identifier = identifier) ;) (if_statement "if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }" if (parenthesized_expression "((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0))" ( (binary_expression "(((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)" (parenthesized_expression "(((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0))" ( (binary_expression "((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)" (parenthesized_expression "((char)piVar2[4] == '\x13')" ( (binary_expression "(char)piVar2[4] == '\x13'" (cast_expression "(char)piVar2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[4]" identifier [ number_literal ])) == (char_literal "'\x13'" ' escape_sequence ')) )) && (parenthesized_expression "(piVar2[3] == 0 && piVar2[2] == 0)" ( (binary_expression "piVar2[3] == 0 && piVar2[2] == 0" (binary_expression "piVar2[3] == 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) == number_literal) && (binary_expression "piVar2[2] == 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) == number_literal)) ))) )) && (parenthesized_expression "((*(byte *)((int)piVar2 + 0x11) & 1) != 0)" ( (binary_expression "(*(byte *)((int)piVar2 + 0x11) & 1) != 0" (parenthesized_expression "(*(byte *)((int)piVar2 + 0x11) & 1)" ( (binary_expression "*(byte *)((int)piVar2 + 0x11) & 1" (pointer_expression "*(byte *)((int)piVar2 + 0x11)" * (cast_expression "(byte *)((int)piVar2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x11)" ( (binary_expression "(int)piVar2 + 0x11" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }" { (expression_statement "DAT_00088954 = *piVar2;" (assignment_expression "DAT_00088954 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "iVar1 = piVar2[1];" (assignment_expression "iVar1 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) }) (else_clause "else {\n      DAT_00088954 = 0;\n    }" else (compound_statement "{\n      DAT_00088954 = 0;\n    }" { (expression_statement "DAT_00088954 = 0;" (assignment_expression "DAT_00088954 = 0" identifier = number_literal) ;) }))) (expression_statement "lVar4 = FUN_00039000(iVar1);" (assignment_expression "lVar4 = FUN_00039000(iVar1)" identifier = (call_expression "FUN_00039000(iVar1)" identifier (argument_list "(iVar1)" ( identifier )))) ;) (expression_statement "iVar1 = FUN_0003bbf0(iVar1);" (assignment_expression "iVar1 = FUN_0003bbf0(iVar1)" identifier = (call_expression "FUN_0003bbf0(iVar1)" identifier (argument_list "(iVar1)" ( identifier )))) ;) (if_statement "if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }" if (parenthesized_expression "((iVar1 == 0) || (lVar4 != 0))" ( (binary_expression "(iVar1 == 0) || (lVar4 != 0)" (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) || (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }" { (expression_statement "uVar3 = dcgettext(0,"view number mismatch",5);" (assignment_expression "uVar3 = dcgettext(0,"view number mismatch",5)" identifier = (call_expression "dcgettext(0,"view number mismatch",5)" identifier (argument_list "(0,"view number mismatch",5)" ( number_literal , (string_literal ""view number mismatch"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar3);" (call_expression "FUN_0002bd60(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (return_statement "return;" return ;) })) })) comment (expression_statement "FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");" (call_expression "FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check")" identifier (argument_list "("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check")" ( (string_literal ""../../gas/dwarf2dbg.c"" " string_content ") , number_literal , (string_literal ""dwarf2dbg_final_check"" " string_content ") ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid dwarf2dbg_final_check(void)\n\n{\n  int iVar1;\n  expressionS *peVar2;\n  char *format;\n  symbolS *symp;\n  valueT vVar3;\n  \n  while( true ) {\n    if (view_assert_failed == (symbolS *)0x0) {\n      return;\n    }\n    iVar1 = symbol_resolved_p(view_assert_failed);\n    if (iVar1 != 0) break;\n    peVar2 = symbol_get_value_expression(view_assert_failed);\n    symp = view_assert_failed;\n    if (((peVar2->field_0x10 == '\x13') &&\n        (*(int *)((int)&peVar2->X_add_number + 4) == 0 && (int)peVar2->X_add_number == 0)) &&\n       ((peVar2->field_0x11 & 1) != 0)) {\n      view_assert_failed = peVar2->X_add_symbol;\n      symp = peVar2->X_op_symbol;\n    }\n    else {\n      view_assert_failed = (symbolS *)0x0;\n    }\n    vVar3 = resolve_symbol_value(symp);\n    iVar1 = symbol_resolved_p(symp);\n    if ((iVar1 == 0) || (vVar3 != 0)) {\n      format = (char *)dcgettext(0,"view number mismatch",5);\n      as_bad(format);\n      return;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");\n}\n\n" comment comment (function_definition "void dwarf2dbg_final_check(void)\n\n{\n  int iVar1;\n  expressionS *peVar2;\n  char *format;\n  symbolS *symp;\n  valueT vVar3;\n  \n  while( true ) {\n    if (view_assert_failed == (symbolS *)0x0) {\n      return;\n    }\n    iVar1 = symbol_resolved_p(view_assert_failed);\n    if (iVar1 != 0) break;\n    peVar2 = symbol_get_value_expression(view_assert_failed);\n    symp = view_assert_failed;\n    if (((peVar2->field_0x10 == '\x13') &&\n        (*(int *)((int)&peVar2->X_add_number + 4) == 0 && (int)peVar2->X_add_number == 0)) &&\n       ((peVar2->field_0x11 & 1) != 0)) {\n      view_assert_failed = peVar2->X_add_symbol;\n      symp = peVar2->X_op_symbol;\n    }\n    else {\n      view_assert_failed = (symbolS *)0x0;\n    }\n    vVar3 = resolve_symbol_value(symp);\n    iVar1 = symbol_resolved_p(symp);\n    if ((iVar1 == 0) || (vVar3 != 0)) {\n      format = (char *)dcgettext(0,"view number mismatch",5);\n      as_bad(format);\n      return;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");\n}" primitive_type (function_declarator "dwarf2dbg_final_check(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  expressionS *peVar2;\n  char *format;\n  symbolS *symp;\n  valueT vVar3;\n  \n  while( true ) {\n    if (view_assert_failed == (symbolS *)0x0) {\n      return;\n    }\n    iVar1 = symbol_resolved_p(view_assert_failed);\n    if (iVar1 != 0) break;\n    peVar2 = symbol_get_value_expression(view_assert_failed);\n    symp = view_assert_failed;\n    if (((peVar2->field_0x10 == '\x13') &&\n        (*(int *)((int)&peVar2->X_add_number + 4) == 0 && (int)peVar2->X_add_number == 0)) &&\n       ((peVar2->field_0x11 & 1) != 0)) {\n      view_assert_failed = peVar2->X_add_symbol;\n      symp = peVar2->X_op_symbol;\n    }\n    else {\n      view_assert_failed = (symbolS *)0x0;\n    }\n    vVar3 = resolve_symbol_value(symp);\n    iVar1 = symbol_resolved_p(symp);\n    if ((iVar1 == 0) || (vVar3 != 0)) {\n      format = (char *)dcgettext(0,"view number mismatch",5);\n      as_bad(format);\n      return;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "expressionS *peVar2;" type_identifier (pointer_declarator "*peVar2" * identifier) ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "symbolS *symp;" type_identifier (pointer_declarator "*symp" * identifier) ;) (declaration "valueT vVar3;" type_identifier identifier ;) (while_statement "while( true ) {\n    if (view_assert_failed == (symbolS *)0x0) {\n      return;\n    }\n    iVar1 = symbol_resolved_p(view_assert_failed);\n    if (iVar1 != 0) break;\n    peVar2 = symbol_get_value_expression(view_assert_failed);\n    symp = view_assert_failed;\n    if (((peVar2->field_0x10 == '\x13') &&\n        (*(int *)((int)&peVar2->X_add_number + 4) == 0 && (int)peVar2->X_add_number == 0)) &&\n       ((peVar2->field_0x11 & 1) != 0)) {\n      view_assert_failed = peVar2->X_add_symbol;\n      symp = peVar2->X_op_symbol;\n    }\n    else {\n      view_assert_failed = (symbolS *)0x0;\n    }\n    vVar3 = resolve_symbol_value(symp);\n    iVar1 = symbol_resolved_p(symp);\n    if ((iVar1 == 0) || (vVar3 != 0)) {\n      format = (char *)dcgettext(0,"view number mismatch",5);\n      as_bad(format);\n      return;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    if (view_assert_failed == (symbolS *)0x0) {\n      return;\n    }\n    iVar1 = symbol_resolved_p(view_assert_failed);\n    if (iVar1 != 0) break;\n    peVar2 = symbol_get_value_expression(view_assert_failed);\n    symp = view_assert_failed;\n    if (((peVar2->field_0x10 == '\x13') &&\n        (*(int *)((int)&peVar2->X_add_number + 4) == 0 && (int)peVar2->X_add_number == 0)) &&\n       ((peVar2->field_0x11 & 1) != 0)) {\n      view_assert_failed = peVar2->X_add_symbol;\n      symp = peVar2->X_op_symbol;\n    }\n    else {\n      view_assert_failed = (symbolS *)0x0;\n    }\n    vVar3 = resolve_symbol_value(symp);\n    iVar1 = symbol_resolved_p(symp);\n    if ((iVar1 == 0) || (vVar3 != 0)) {\n      format = (char *)dcgettext(0,"view number mismatch",5);\n      as_bad(format);\n      return;\n    }\n  }" { (if_statement "if (view_assert_failed == (symbolS *)0x0) {\n      return;\n    }" if (parenthesized_expression "(view_assert_failed == (symbolS *)0x0)" ( (binary_expression "view_assert_failed == (symbolS *)0x0" identifier == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "iVar1 = symbol_resolved_p(view_assert_failed);" (assignment_expression "iVar1 = symbol_resolved_p(view_assert_failed)" identifier = (call_expression "symbol_resolved_p(view_assert_failed)" identifier (argument_list "(view_assert_failed)" ( identifier )))) ;) (if_statement "if (iVar1 != 0) break;" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "peVar2 = symbol_get_value_expression(view_assert_failed);" (assignment_expression "peVar2 = symbol_get_value_expression(view_assert_failed)" identifier = (call_expression "symbol_get_value_expression(view_assert_failed)" identifier (argument_list "(view_assert_failed)" ( identifier )))) ;) (expression_statement "symp = view_assert_failed;" (assignment_expression "symp = view_assert_failed" identifier = identifier) ;) (if_statement "if (((peVar2->field_0x10 == '\x13') &&\n        (*(int *)((int)&peVar2->X_add_number + 4) == 0 && (int)peVar2->X_add_number == 0)) &&\n       ((peVar2->field_0x11 & 1) != 0)) {\n      view_assert_failed = peVar2->X_add_symbol;\n      symp = peVar2->X_op_symbol;\n    }\n    else {\n      view_assert_failed = (symbolS *)0x0;\n    }" if (parenthesized_expression "(((peVar2->field_0x10 == '\x13') &&\n        (*(int *)((int)&peVar2->X_add_number + 4) == 0 && (int)peVar2->X_add_number == 0)) &&\n       ((peVar2->field_0x11 & 1) != 0))" ( (binary_expression "((peVar2->field_0x10 == '\x13') &&\n        (*(int *)((int)&peVar2->X_add_number + 4) == 0 && (int)peVar2->X_add_number == 0)) &&\n       ((peVar2->field_0x11 & 1) != 0)" (parenthesized_expression "((peVar2->field_0x10 == '\x13') &&\n        (*(int *)((int)&peVar2->X_add_number + 4) == 0 && (int)peVar2->X_add_number == 0))" ( (binary_expression "(peVar2->field_0x10 == '\x13') &&\n        (*(int *)((int)&peVar2->X_add_number + 4) == 0 && (int)peVar2->X_add_number == 0)" (parenthesized_expression "(peVar2->field_0x10 == '\x13')" ( (binary_expression "peVar2->field_0x10 == '\x13'" (field_expression "peVar2->field_0x10" identifier -> field_identifier) == (char_literal "'\x13'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)((int)&peVar2->X_add_number + 4) == 0 && (int)peVar2->X_add_number == 0)" ( (binary_expression "*(int *)((int)&peVar2->X_add_number + 4) == 0 && (int)peVar2->X_add_number == 0" (binary_expression "*(int *)((int)&peVar2->X_add_number + 4) == 0" (pointer_expression "*(int *)((int)&peVar2->X_add_number + 4)" * (cast_expression "(int *)((int)&peVar2->X_add_number + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&peVar2->X_add_number + 4)" ( (binary_expression "(int)&peVar2->X_add_number + 4" (cast_expression "(int)&peVar2->X_add_number" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&peVar2->X_add_number" & (field_expression "peVar2->X_add_number" identifier -> field_identifier))) + number_literal) )))) == number_literal) && (binary_expression "(int)peVar2->X_add_number == 0" (cast_expression "(int)peVar2->X_add_number" ( (type_descriptor "int" primitive_type) ) (field_expression "peVar2->X_add_number" identifier -> field_identifier)) == number_literal)) ))) )) && (parenthesized_expression "((peVar2->field_0x11 & 1) != 0)" ( (binary_expression "(peVar2->field_0x11 & 1) != 0" (parenthesized_expression "(peVar2->field_0x11 & 1)" ( (binary_expression "peVar2->field_0x11 & 1" (field_expression "peVar2->field_0x11" identifier -> field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      view_assert_failed = peVar2->X_add_symbol;\n      symp = peVar2->X_op_symbol;\n    }" { (expression_statement "view_assert_failed = peVar2->X_add_symbol;" (assignment_expression "view_assert_failed = peVar2->X_add_symbol" identifier = (field_expression "peVar2->X_add_symbol" identifier -> field_identifier)) ;) (expression_statement "symp = peVar2->X_op_symbol;" (assignment_expression "symp = peVar2->X_op_symbol" identifier = (field_expression "peVar2->X_op_symbol" identifier -> field_identifier)) ;) }) (else_clause "else {\n      view_assert_failed = (symbolS *)0x0;\n    }" else (compound_statement "{\n      view_assert_failed = (symbolS *)0x0;\n    }" { (expression_statement "view_assert_failed = (symbolS *)0x0;" (assignment_expression "view_assert_failed = (symbolS *)0x0" identifier = (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "vVar3 = resolve_symbol_value(symp);" (assignment_expression "vVar3 = resolve_symbol_value(symp)" identifier = (call_expression "resolve_symbol_value(symp)" identifier (argument_list "(symp)" ( identifier )))) ;) (expression_statement "iVar1 = symbol_resolved_p(symp);" (assignment_expression "iVar1 = symbol_resolved_p(symp)" identifier = (call_expression "symbol_resolved_p(symp)" identifier (argument_list "(symp)" ( identifier )))) ;) (if_statement "if ((iVar1 == 0) || (vVar3 != 0)) {\n      format = (char *)dcgettext(0,"view number mismatch",5);\n      as_bad(format);\n      return;\n    }" if (parenthesized_expression "((iVar1 == 0) || (vVar3 != 0))" ( (binary_expression "(iVar1 == 0) || (vVar3 != 0)" (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) || (parenthesized_expression "(vVar3 != 0)" ( (binary_expression "vVar3 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      format = (char *)dcgettext(0,"view number mismatch",5);\n      as_bad(format);\n      return;\n    }" { (expression_statement "format = (char *)dcgettext(0,"view number mismatch",5);" (assignment_expression "format = (char *)dcgettext(0,"view number mismatch",5)" identifier = (cast_expression "(char *)dcgettext(0,"view number mismatch",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"view number mismatch",5)" identifier (argument_list "(0,"view number mismatch",5)" ( number_literal , (string_literal ""view number mismatch"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(format);" (call_expression "as_bad(format)" identifier (argument_list "(format)" ( identifier ))) ;) (return_statement "return;" return ;) })) })) comment (expression_statement "as_abort("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");" (call_expression "as_abort("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check")" identifier (argument_list "("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check")" ( (string_literal ""../../gas/dwarf2dbg.c"" " string_content ") , number_literal , (string_literal ""dwarf2dbg_final_check"" " string_content ") ))) ;) })))
(translation_unit "void FUN_0001d490(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  \n  while( true ) {\n    if (DAT_00088954 == 0) {\n      return;\n    }\n    iVar1 = FUN_0003bbf0(DAT_00088954);\n    if (iVar1 != 0) break;\n    piVar2 = (int *)FUN_0003b610(DAT_00088954);\n    iVar1 = DAT_00088954;\n    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }\n    lVar4 = FUN_00039000(iVar1);\n    iVar1 = FUN_0003bbf0(iVar1);\n    if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }\n  }\n                    \n  FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");\n}\n\n" (function_definition "void FUN_0001d490(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  \n  while( true ) {\n    if (DAT_00088954 == 0) {\n      return;\n    }\n    iVar1 = FUN_0003bbf0(DAT_00088954);\n    if (iVar1 != 0) break;\n    piVar2 = (int *)FUN_0003b610(DAT_00088954);\n    iVar1 = DAT_00088954;\n    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }\n    lVar4 = FUN_00039000(iVar1);\n    iVar1 = FUN_0003bbf0(iVar1);\n    if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }\n  }\n                    \n  FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");\n}" primitive_type (function_declarator "FUN_0001d490(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  \n  while( true ) {\n    if (DAT_00088954 == 0) {\n      return;\n    }\n    iVar1 = FUN_0003bbf0(DAT_00088954);\n    if (iVar1 != 0) break;\n    piVar2 = (int *)FUN_0003b610(DAT_00088954);\n    iVar1 = DAT_00088954;\n    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }\n    lVar4 = FUN_00039000(iVar1);\n    iVar1 = FUN_0003bbf0(iVar1);\n    if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }\n  }\n                    \n  FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "longlong lVar4;" type_identifier identifier ;) (while_statement "while( true ) {\n    if (DAT_00088954 == 0) {\n      return;\n    }\n    iVar1 = FUN_0003bbf0(DAT_00088954);\n    if (iVar1 != 0) break;\n    piVar2 = (int *)FUN_0003b610(DAT_00088954);\n    iVar1 = DAT_00088954;\n    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }\n    lVar4 = FUN_00039000(iVar1);\n    iVar1 = FUN_0003bbf0(iVar1);\n    if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    if (DAT_00088954 == 0) {\n      return;\n    }\n    iVar1 = FUN_0003bbf0(DAT_00088954);\n    if (iVar1 != 0) break;\n    piVar2 = (int *)FUN_0003b610(DAT_00088954);\n    iVar1 = DAT_00088954;\n    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }\n    lVar4 = FUN_00039000(iVar1);\n    iVar1 = FUN_0003bbf0(iVar1);\n    if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }\n  }" { (if_statement "if (DAT_00088954 == 0) {\n      return;\n    }" if (parenthesized_expression "(DAT_00088954 == 0)" ( (binary_expression "DAT_00088954 == 0" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "iVar1 = FUN_0003bbf0(DAT_00088954);" (assignment_expression "iVar1 = FUN_0003bbf0(DAT_00088954)" identifier = (call_expression "FUN_0003bbf0(DAT_00088954)" identifier (argument_list "(DAT_00088954)" ( identifier )))) ;) (if_statement "if (iVar1 != 0) break;" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar2 = (int *)FUN_0003b610(DAT_00088954);" (assignment_expression "piVar2 = (int *)FUN_0003b610(DAT_00088954)" identifier = (cast_expression "(int *)FUN_0003b610(DAT_00088954)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003b610(DAT_00088954)" identifier (argument_list "(DAT_00088954)" ( identifier ))))) ;) (expression_statement "iVar1 = DAT_00088954;" (assignment_expression "iVar1 = DAT_00088954" identifier = identifier) ;) (if_statement "if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }" if (parenthesized_expression "((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0))" ( (binary_expression "(((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)" (parenthesized_expression "(((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0))" ( (binary_expression "((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)" (parenthesized_expression "((char)piVar2[4] == '\x13')" ( (binary_expression "(char)piVar2[4] == '\x13'" (cast_expression "(char)piVar2[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar2[4]" identifier [ number_literal ])) == (char_literal "'\x13'" ' escape_sequence ')) )) && (parenthesized_expression "(piVar2[3] == 0 && piVar2[2] == 0)" ( (binary_expression "piVar2[3] == 0 && piVar2[2] == 0" (binary_expression "piVar2[3] == 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) == number_literal) && (binary_expression "piVar2[2] == 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) == number_literal)) ))) )) && (parenthesized_expression "((*(byte *)((int)piVar2 + 0x11) & 1) != 0)" ( (binary_expression "(*(byte *)((int)piVar2 + 0x11) & 1) != 0" (parenthesized_expression "(*(byte *)((int)piVar2 + 0x11) & 1)" ( (binary_expression "*(byte *)((int)piVar2 + 0x11) & 1" (pointer_expression "*(byte *)((int)piVar2 + 0x11)" * (cast_expression "(byte *)((int)piVar2 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar2 + 0x11)" ( (binary_expression "(int)piVar2 + 0x11" (cast_expression "(int)piVar2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }" { (expression_statement "DAT_00088954 = *piVar2;" (assignment_expression "DAT_00088954 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "iVar1 = piVar2[1];" (assignment_expression "iVar1 = piVar2[1]" identifier = (subscript_expression "piVar2[1]" identifier [ number_literal ])) ;) }) (else_clause "else {\n      DAT_00088954 = 0;\n    }" else (compound_statement "{\n      DAT_00088954 = 0;\n    }" { (expression_statement "DAT_00088954 = 0;" (assignment_expression "DAT_00088954 = 0" identifier = number_literal) ;) }))) (expression_statement "lVar4 = FUN_00039000(iVar1);" (assignment_expression "lVar4 = FUN_00039000(iVar1)" identifier = (call_expression "FUN_00039000(iVar1)" identifier (argument_list "(iVar1)" ( identifier )))) ;) (expression_statement "iVar1 = FUN_0003bbf0(iVar1);" (assignment_expression "iVar1 = FUN_0003bbf0(iVar1)" identifier = (call_expression "FUN_0003bbf0(iVar1)" identifier (argument_list "(iVar1)" ( identifier )))) ;) (if_statement "if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }" if (parenthesized_expression "((iVar1 == 0) || (lVar4 != 0))" ( (binary_expression "(iVar1 == 0) || (lVar4 != 0)" (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) || (parenthesized_expression "(lVar4 != 0)" ( (binary_expression "lVar4 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }" { (expression_statement "uVar3 = dcgettext(0,"view number mismatch",5);" (assignment_expression "uVar3 = dcgettext(0,"view number mismatch",5)" identifier = (call_expression "dcgettext(0,"view number mismatch",5)" identifier (argument_list "(0,"view number mismatch",5)" ( number_literal , (string_literal ""view number mismatch"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0002bd60(uVar3);" (call_expression "FUN_0002bd60(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (return_statement "return;" return ;) })) })) (expression_statement "FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");" (call_expression "FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check")" identifier (argument_list "("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check")" ( (string_literal ""../../gas/dwarf2dbg.c"" " string_content ") , number_literal , (string_literal ""dwarf2dbg_final_check"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "void FUN_0001d490(void)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  \n  while( true ) {\n    if (DAT_00088954 == 0) {\n      return;\n    }\n    iVar1 = FUN_0003bbf0(DAT_00088954);\n    if (iVar1 != 0) break;\n    piVar2 = (int *)FUN_0003b610(DAT_00088954);\n    iVar1 = DAT_00088954;\n    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }\n    lVar4 = FUN_00039000(iVar1);\n    iVar1 = FUN_0003bbf0(iVar1);\n    if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }\n  }\n                    \n  FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");\n}" (primitive_type "void") (function_declarator "FUN_0001d490(void)" (identifier "FUN_0001d490") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  longlong lVar4;\n  \n  while( true ) {\n    if (DAT_00088954 == 0) {\n      return;\n    }\n    iVar1 = FUN_0003bbf0(DAT_00088954);\n    if (iVar1 != 0) break;\n    piVar2 = (int *)FUN_0003b610(DAT_00088954);\n    iVar1 = DAT_00088954;\n    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }\n    lVar4 = FUN_00039000(iVar1);\n    iVar1 = FUN_0003bbf0(iVar1);\n    if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }\n  }\n                    \n  FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "longlong lVar4;" (type_identifier "longlong") (identifier "lVar4") (; ";")) (while_statement "while( true ) {\n    if (DAT_00088954 == 0) {\n      return;\n    }\n    iVar1 = FUN_0003bbf0(DAT_00088954);\n    if (iVar1 != 0) break;\n    piVar2 = (int *)FUN_0003b610(DAT_00088954);\n    iVar1 = DAT_00088954;\n    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }\n    lVar4 = FUN_00039000(iVar1);\n    iVar1 = FUN_0003bbf0(iVar1);\n    if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    if (DAT_00088954 == 0) {\n      return;\n    }\n    iVar1 = FUN_0003bbf0(DAT_00088954);\n    if (iVar1 != 0) break;\n    piVar2 = (int *)FUN_0003b610(DAT_00088954);\n    iVar1 = DAT_00088954;\n    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }\n    lVar4 = FUN_00039000(iVar1);\n    iVar1 = FUN_0003bbf0(iVar1);\n    if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }\n  }" ({ "{") (if_statement "if (DAT_00088954 == 0) {\n      return;\n    }" (if "if") (parenthesized_expression "(DAT_00088954 == 0)" (( "(") (binary_expression "DAT_00088954 == 0" (identifier "DAT_00088954") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar1 = FUN_0003bbf0(DAT_00088954);" (assignment_expression "iVar1 = FUN_0003bbf0(DAT_00088954)" (identifier "iVar1") (= "=") (call_expression "FUN_0003bbf0(DAT_00088954)" (identifier "FUN_0003bbf0") (argument_list "(DAT_00088954)" (( "(") (identifier "DAT_00088954") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) break;" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar2 = (int *)FUN_0003b610(DAT_00088954);" (assignment_expression "piVar2 = (int *)FUN_0003b610(DAT_00088954)" (identifier "piVar2") (= "=") (cast_expression "(int *)FUN_0003b610(DAT_00088954)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003b610(DAT_00088954)" (identifier "FUN_0003b610") (argument_list "(DAT_00088954)" (( "(") (identifier "DAT_00088954") () ")"))))) (; ";")) (expression_statement "iVar1 = DAT_00088954;" (assignment_expression "iVar1 = DAT_00088954" (identifier "iVar1") (= "=") (identifier "DAT_00088954")) (; ";")) (if_statement "if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }\n    else {\n      DAT_00088954 = 0;\n    }" (if "if") (parenthesized_expression "((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0))" (( "(") (binary_expression "(((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&\n       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)" (parenthesized_expression "(((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0))" (( "(") (binary_expression "((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)" (parenthesized_expression "((char)piVar2[4] == '\x13')" (( "(") (binary_expression "(char)piVar2[4] == '\x13'" (cast_expression "(char)piVar2[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar2[4]" (identifier "piVar2") ([ "[") (number_literal "4") (] "]"))) (== "==") (char_literal "'\x13'" (' "'") (escape_sequence "\x13") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(piVar2[3] == 0 && piVar2[2] == 0)" (( "(") (binary_expression "piVar2[3] == 0 && piVar2[2] == 0" (binary_expression "piVar2[3] == 0" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "piVar2[2] == 0" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((int)piVar2 + 0x11) & 1) != 0)" (( "(") (binary_expression "(*(byte *)((int)piVar2 + 0x11) & 1) != 0" (parenthesized_expression "(*(byte *)((int)piVar2 + 0x11) & 1)" (( "(") (binary_expression "*(byte *)((int)piVar2 + 0x11) & 1" (pointer_expression "*(byte *)((int)piVar2 + 0x11)" (* "*") (cast_expression "(byte *)((int)piVar2 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar2 + 0x11)" (( "(") (binary_expression "(int)piVar2 + 0x11" (cast_expression "(int)piVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar2")) (+ "+") (number_literal "0x11")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      DAT_00088954 = *piVar2;\n      iVar1 = piVar2[1];\n    }" ({ "{") (expression_statement "DAT_00088954 = *piVar2;" (assignment_expression "DAT_00088954 = *piVar2" (identifier "DAT_00088954") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "iVar1 = piVar2[1];" (assignment_expression "iVar1 = piVar2[1]" (identifier "iVar1") (= "=") (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n      DAT_00088954 = 0;\n    }" (else "else") (compound_statement "{\n      DAT_00088954 = 0;\n    }" ({ "{") (expression_statement "DAT_00088954 = 0;" (assignment_expression "DAT_00088954 = 0" (identifier "DAT_00088954") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "lVar4 = FUN_00039000(iVar1);" (assignment_expression "lVar4 = FUN_00039000(iVar1)" (identifier "lVar4") (= "=") (call_expression "FUN_00039000(iVar1)" (identifier "FUN_00039000") (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")")))) (; ";")) (expression_statement "iVar1 = FUN_0003bbf0(iVar1);" (assignment_expression "iVar1 = FUN_0003bbf0(iVar1)" (identifier "iVar1") (= "=") (call_expression "FUN_0003bbf0(iVar1)" (identifier "FUN_0003bbf0") (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")")))) (; ";")) (if_statement "if ((iVar1 == 0) || (lVar4 != 0)) {\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }" (if "if") (parenthesized_expression "((iVar1 == 0) || (lVar4 != 0))" (( "(") (binary_expression "(iVar1 == 0) || (lVar4 != 0)" (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(lVar4 != 0)" (( "(") (binary_expression "lVar4 != 0" (identifier "lVar4") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      uVar3 = dcgettext(0,"view number mismatch",5);\n      FUN_0002bd60(uVar3);\n      return;\n    }" ({ "{") (expression_statement "uVar3 = dcgettext(0,"view number mismatch",5);" (assignment_expression "uVar3 = dcgettext(0,"view number mismatch",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"view number mismatch",5)" (identifier "dcgettext") (argument_list "(0,"view number mismatch",5)" (( "(") (number_literal "0") (, ",") (string_literal ""view number mismatch"" (" """) (string_content "view number mismatch") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002bd60(uVar3);" (call_expression "FUN_0002bd60(uVar3)" (identifier "FUN_0002bd60") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");" (call_expression "FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check")" (identifier "FUN_0002be80") (argument_list "("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check")" (( "(") (string_literal ""../../gas/dwarf2dbg.c"" (" """) (string_content "../../gas/dwarf2dbg.c") (" """)) (, ",") (number_literal "0x8d4") (, ",") (string_literal ""dwarf2dbg_final_check"" (" """) (string_content "dwarf2dbg_final_check") (" """)) () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  int var_3;
  type_1 *peVar2;
  char *format;
  type_2 *symp;
  type_3 var_6;
  
  while( true ) {
    if (var_1 == (type_2 *)0x0) {
      return;
    }
    var_3 = var_2(var_1);
    if (var_3 != 0) break;
    peVar2 = var_4(var_1);
    symp = var_1;
    if (((peVar2->field_0x10 == '\x13') &&
        (*(int *)((int)&peVar2->X_add_number + 4) == 0 && (int)peVar2->X_add_number == 0)) &&
       ((peVar2->field_0x11 & 1) != 0)) {
      var_1 = peVar2->X_add_symbol;
      symp = peVar2->X_op_symbol;
    }
    else {
      var_1 = (type_2 *)0x0;
    }
    var_6 = var_5(symp);
    var_3 = var_2(symp);
    if ((var_3 == 0) || (var_6 != 0)) {
      format = (char *)var_7(0,"view number mismatch",5);
      var_8(format);
      return;
    }
  }
                    /* WARNING: Subroutine does not return */
  var_9("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");
}


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

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

void MASKED(void)

{
  int iVar1;
  int *piVar2;
  undefined4 uVar3;
  longlong lVar4;
  
  while( true ) {
    if (DAT_00088954 == 0) {
      return;
    }
    iVar1 = FUN_0003bbf0(DAT_00088954);
    if (iVar1 != 0) break;
    piVar2 = (int *)FUN_0003b610(DAT_00088954);
    iVar1 = DAT_00088954;
    if ((((char)piVar2[4] == '\x13') && (piVar2[3] == 0 && piVar2[2] == 0)) &&
       ((*(byte *)((int)piVar2 + 0x11) & 1) != 0)) {
      DAT_00088954 = *piVar2;
      iVar1 = piVar2[1];
    }
    else {
      DAT_00088954 = 0;
    }
    lVar4 = FUN_00039000(iVar1);
    iVar1 = FUN_0003bbf0(iVar1);
    if ((iVar1 == 0) || (lVar4 != 0)) {
      uVar3 = dcgettext(0,"view number mismatch",5);
      FUN_0002bd60(uVar3);
      return;
    }
  }
                    /* WARNING: Subroutine does not return */
  FUN_0002be80("../../gas/dwarf2dbg.c",0x8d4,"dwarf2dbg_final_check");
}

