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

void dot_cfi_personality(int ignored)

{
  char cVar1;
  fde_entry *pfVar2;
  uint uVar3;
  char *pcVar4;
  
  if (frchain_now->frch_cfi_data == (frch_cfi_data *)0x0) {
    pcVar4 = "CFI instruction used without previous .cfi_startproc";
  }
  else {
    pfVar2 = frchain_now->frch_cfi_data->cur_fde_data;
    uVar3 = get_absolute_expression();
    if (uVar3 == 0xff) {
      demand_empty_rest_of_line();
      pfVar2->per_encoding = 0xff;
      return;
    }
    if (((((uVar3 & 0xff) == uVar3) && ((uVar3 & 0x60) == 0)) && ((uVar3 & 7) < 5)) &&
       ((uVar3 & 7) != 1)) {
      if (*input_line_pointer == ',') {
        input_line_pointer = input_line_pointer + 1;
        expr(0,&pfVar2->personality,expr_evaluate);
        cVar1 = (pfVar2->personality).field_0xc;
        if (cVar1 == '\x02') {
          if ((uVar3 & 0x70) != 0x10) goto LAB_0001d548;
        }
        else if (cVar1 == '\x03') {
LAB_0001d548:
          pfVar2->per_encoding = (uchar)uVar3;
          demand_empty_rest_of_line();
          return;
        }
        pfVar2->per_encoding = 0xff;
        pcVar4 = "wrong second argument to .cfi_personality";
      }
      else {
        pcVar4 = ".cfi_personality requires encoding and symbol arguments";
        input_line_pointer = input_line_pointer + 1;
      }
    }
    else {
      pcVar4 = "invalid or unsupported encoding in .cfi_personality";
    }
  }
  pcVar4 = (char *)dcgettext(0,pcVar4,5);
  as_bad(pcVar4);
  ignore_rest_of_line();
  return;
}



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

void FUN_0001d440(void)

{
  int iVar1;
  uint uVar2;
  char *pcVar3;
  undefined4 uVar4;
  
  if (*(int **)(DAT_00084988 + 0x48) == (int *)0x0) {
    pcVar3 = "CFI instruction used without previous .cfi_startproc";
  }
  else {
    iVar1 = **(int **)(DAT_00084988 + 0x48);
    uVar2 = FUN_0002c260();
    if (uVar2 == 0xff) {
      FUN_0002ce90();
      *(undefined1 *)(iVar1 + 0x14) = 0xff;
      return;
    }
    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&
       ((uVar2 & 7) != 1)) {
      if (*DAT_000848f0 == ',') {
        DAT_000848f0 = DAT_000848f0 + 1;
        FUN_000214a0(0,iVar1 + 0x1c,0);
        if (*(char *)(iVar1 + 0x28) == '\x02') {
          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;
        }
        else if (*(char *)(iVar1 + 0x28) == '\x03') {
LAB_0001d548:
          *(char *)(iVar1 + 0x14) = (char)uVar2;
          FUN_0002ce90();
          return;
        }
        *(undefined1 *)(iVar1 + 0x14) = 0xff;
        pcVar3 = "wrong second argument to .cfi_personality";
      }
      else {
        pcVar3 = ".cfi_personality requires encoding and symbol arguments";
        DAT_000848f0 = DAT_000848f0 + 1;
      }
    }
    else {
      pcVar3 = "invalid or unsupported encoding in .cfi_personality";
    }
  }
  uVar4 = dcgettext(0,pcVar3,5);
  FUN_0002a980(uVar4);
  FUN_0002cc80();
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00016020
ADD EBX,0x5dbb7
SUB ESP,0x1c
LEA EAX,[EBX + 0x9988]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x48]
TEST EAX,EAX
JZ 0x0001d4e0
MOV ESI,dword ptr [EAX]
CALL 0x0002c260
MOV EDX,EAX
CMP EAX,0xff
JZ 0x0001d4f0
MOVZX EDI,AL
CMP EDI,EAX
JNZ 0x0001d4b0
TEST EDI,0x60
JNZ 0x0001d4b0
MOV EAX,EDI
AND EAX,0x7
CMP EAX,0x4
JG 0x0001d4b0
CMP EAX,0x1
JZ 0x0001d4b0
LEA ECX,[EBX + 0x98f0]
MOV EAX,dword ptr [ECX]
LEA EBP,[EAX + 0x1]
MOV dword ptr [ECX],EBP
CMP byte ptr [EAX],0x2c
JZ 0x0001d500
SUB ESP,0x4
LEA EAX,[EBX + 0xfffde610]
PUSH 0x5
JMP 0x0001d4bb
SUB ESP,0x4
LEA EAX,[EBX + 0xfffde5dc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000141a0
MOV dword ptr [ESP],EAX
CALL 0x0002a980
CALL 0x0002cc80
ADD ESP,0x10
ADD ESP,0x1c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffde51c]
PUSH 0x5
JMP 0x0001d4bb
CALL 0x0002ce90
MOV byte ptr [ESI + 0x14],0xff
JMP 0x0001d4d3
MOV dword ptr [ESP + 0xc],EDX
LEA EAX,[ESI + 0x1c]
SUB ESP,0x4
PUSH 0x0
PUSH EAX
PUSH 0x0
CALL 0x000214a0
MOVZX EAX,byte ptr [ESI + 0x28]
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0xc]
CMP AL,0x2
JZ 0x0001d540
CMP AL,0x3
JZ 0x0001d548
SUB ESP,0x4
MOV byte ptr [ESI + 0x14],0xff
LEA EAX,[EBX + 0xfffde648]
PUSH 0x5
JMP 0x0001d4bb
AND EDI,0x70
CMP EDI,0x10
JZ 0x0001d527
MOV byte ptr [ESI + 0x14],DL
CALL 0x0002ce90
JMP 0x0001d4d3
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_0001d440(void)\n\n{\n  int iVar1;\n  uint uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  \n  if (*(int **)(DAT_00084988 + 0x48) == (int *)0x0) {\n    pcVar3 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }\n  uVar4 = dcgettext(0,pcVar3,5);\n  FUN_0002a980(uVar4);\n  FUN_0002cc80();\n  return;\n}\n\n" comment (function_definition "void FUN_0001d440(void)\n\n{\n  int iVar1;\n  uint uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  \n  if (*(int **)(DAT_00084988 + 0x48) == (int *)0x0) {\n    pcVar3 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }\n  uVar4 = dcgettext(0,pcVar3,5);\n  FUN_0002a980(uVar4);\n  FUN_0002cc80();\n  return;\n}" primitive_type (function_declarator "FUN_0001d440(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  uint uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  \n  if (*(int **)(DAT_00084988 + 0x48) == (int *)0x0) {\n    pcVar3 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }\n  uVar4 = dcgettext(0,pcVar3,5);\n  FUN_0002a980(uVar4);\n  FUN_0002cc80();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (if_statement "if (*(int **)(DAT_00084988 + 0x48) == (int *)0x0) {\n    pcVar3 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }" if (parenthesized_expression "(*(int **)(DAT_00084988 + 0x48) == (int *)0x0)" ( (binary_expression "*(int **)(DAT_00084988 + 0x48) == (int *)0x0" (pointer_expression "*(int **)(DAT_00084988 + 0x48)" * (cast_expression "(int **)(DAT_00084988 + 0x48)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00084988 + 0x48)" ( (binary_expression "DAT_00084988 + 0x48" identifier + number_literal) )))) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar3 = "CFI instruction used without previous .cfi_startproc";\n  }" { (expression_statement "pcVar3 = "CFI instruction used without previous .cfi_startproc";" (assignment_expression "pcVar3 = "CFI instruction used without previous .cfi_startproc"" identifier = (string_literal ""CFI instruction used without previous .cfi_startproc"" " string_content ")) ;) }) (else_clause "else {\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }" else (compound_statement "{\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }" { (expression_statement "iVar1 = **(int **)(DAT_00084988 + 0x48);" (assignment_expression "iVar1 = **(int **)(DAT_00084988 + 0x48)" identifier = (pointer_expression "**(int **)(DAT_00084988 + 0x48)" * (pointer_expression "*(int **)(DAT_00084988 + 0x48)" * (cast_expression "(int **)(DAT_00084988 + 0x48)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00084988 + 0x48)" ( (binary_expression "DAT_00084988 + 0x48" identifier + number_literal) )))))) ;) (expression_statement "uVar2 = FUN_0002c260();" (assignment_expression "uVar2 = FUN_0002c260()" identifier = (call_expression "FUN_0002c260()" identifier (argument_list "()" ( )))) ;) (if_statement "if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }" if (parenthesized_expression "(uVar2 == 0xff)" ( (binary_expression "uVar2 == 0xff" identifier == number_literal) )) (compound_statement "{\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }" { (expression_statement "FUN_0002ce90();" (call_expression "FUN_0002ce90()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)(iVar1 + 0x14) = 0xff;" (assignment_expression "*(undefined1 *)(iVar1 + 0x14) = 0xff" (pointer_expression "*(undefined1 *)(iVar1 + 0x14)" * (cast_expression "(undefined1 *)(iVar1 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }" if (parenthesized_expression "(((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1))" ( (binary_expression "((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)" (parenthesized_expression "((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5))" ( (binary_expression "(((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)" (parenthesized_expression "(((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0))" ( (binary_expression "((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)" (parenthesized_expression "((uVar2 & 0xff) == uVar2)" ( (binary_expression "(uVar2 & 0xff) == uVar2" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) == identifier) )) && (parenthesized_expression "((uVar2 & 0x60) == 0)" ( (binary_expression "(uVar2 & 0x60) == 0" (parenthesized_expression "(uVar2 & 0x60)" ( (binary_expression "uVar2 & 0x60" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((uVar2 & 7) < 5)" ( (binary_expression "(uVar2 & 7) < 5" (parenthesized_expression "(uVar2 & 7)" ( (binary_expression "uVar2 & 7" identifier & number_literal) )) < number_literal) ))) )) && (parenthesized_expression "((uVar2 & 7) != 1)" ( (binary_expression "(uVar2 & 7) != 1" (parenthesized_expression "(uVar2 & 7)" ( (binary_expression "uVar2 & 7" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }" { (if_statement "if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }" if (parenthesized_expression "(*DAT_000848f0 == ',')" ( (binary_expression "*DAT_000848f0 == ','" (pointer_expression "*DAT_000848f0" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }" { (expression_statement "DAT_000848f0 = DAT_000848f0 + 1;" (assignment_expression "DAT_000848f0 = DAT_000848f0 + 1" identifier = (binary_expression "DAT_000848f0 + 1" identifier + number_literal)) ;) (expression_statement "FUN_000214a0(0,iVar1 + 0x1c,0);" (call_expression "FUN_000214a0(0,iVar1 + 0x1c,0)" identifier (argument_list "(0,iVar1 + 0x1c,0)" ( number_literal , (binary_expression "iVar1 + 0x1c" identifier + number_literal) , number_literal ))) ;) (if_statement "if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }" if (parenthesized_expression "(*(char *)(iVar1 + 0x28) == '\x02')" ( (binary_expression "*(char *)(iVar1 + 0x28) == '\x02'" (pointer_expression "*(char *)(iVar1 + 0x28)" * (cast_expression "(char *)(iVar1 + 0x28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x28)" ( (binary_expression "iVar1 + 0x28" identifier + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }" { (if_statement "if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;" if (parenthesized_expression "((uVar2 & 0x70) != 0x10)" ( (binary_expression "(uVar2 & 0x70) != 0x10" (parenthesized_expression "(uVar2 & 0x70)" ( (binary_expression "uVar2 & 0x70" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d548;" goto statement_identifier ;)) }) (else_clause "else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }" else (if_statement "if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }" if (parenthesized_expression "(*(char *)(iVar1 + 0x28) == '\x03')" ( (binary_expression "*(char *)(iVar1 + 0x28) == '\x03'" (pointer_expression "*(char *)(iVar1 + 0x28)" * (cast_expression "(char *)(iVar1 + 0x28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x28)" ( (binary_expression "iVar1 + 0x28" identifier + number_literal) )))) == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }" { (labeled_statement "LAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;" statement_identifier : (expression_statement "*(char *)(iVar1 + 0x14) = (char)uVar2;" (assignment_expression "*(char *)(iVar1 + 0x14) = (char)uVar2" (pointer_expression "*(char *)(iVar1 + 0x14)" * (cast_expression "(char *)(iVar1 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) = (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;)) (expression_statement "FUN_0002ce90();" (call_expression "FUN_0002ce90()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))) (expression_statement "*(undefined1 *)(iVar1 + 0x14) = 0xff;" (assignment_expression "*(undefined1 *)(iVar1 + 0x14) = 0xff" (pointer_expression "*(undefined1 *)(iVar1 + 0x14)" * (cast_expression "(undefined1 *)(iVar1 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar3 = "wrong second argument to .cfi_personality";" (assignment_expression "pcVar3 = "wrong second argument to .cfi_personality"" identifier = (string_literal ""wrong second argument to .cfi_personality"" " string_content ")) ;) }) (else_clause "else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }" else (compound_statement "{\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }" { (expression_statement "pcVar3 = ".cfi_personality requires encoding and symbol arguments";" (assignment_expression "pcVar3 = ".cfi_personality requires encoding and symbol arguments"" identifier = (string_literal "".cfi_personality requires encoding and symbol arguments"" " string_content ")) ;) (expression_statement "DAT_000848f0 = DAT_000848f0 + 1;" (assignment_expression "DAT_000848f0 = DAT_000848f0 + 1" identifier = (binary_expression "DAT_000848f0 + 1" identifier + number_literal)) ;) }))) }) (else_clause "else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }" else (compound_statement "{\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }" { (expression_statement "pcVar3 = "invalid or unsupported encoding in .cfi_personality";" (assignment_expression "pcVar3 = "invalid or unsupported encoding in .cfi_personality"" identifier = (string_literal ""invalid or unsupported encoding in .cfi_personality"" " string_content ")) ;) }))) }))) (expression_statement "uVar4 = dcgettext(0,pcVar3,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar3,5)" identifier = (call_expression "dcgettext(0,pcVar3,5)" identifier (argument_list "(0,pcVar3,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_0002a980(uVar4);" (call_expression "FUN_0002a980(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "FUN_0002cc80();" (call_expression "FUN_0002cc80()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nvoid dot_cfi_personality(int ignored)\n\n{\n  char cVar1;\n  fde_entry *pfVar2;\n  uint uVar3;\n  char *pcVar4;\n  \n  if (frchain_now->frch_cfi_data == (frch_cfi_data *)0x0) {\n    pcVar4 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    pfVar2 = frchain_now->frch_cfi_data->cur_fde_data;\n    uVar3 = get_absolute_expression();\n    if (uVar3 == 0xff) {\n      demand_empty_rest_of_line();\n      pfVar2->per_encoding = 0xff;\n      return;\n    }\n    if (((((uVar3 & 0xff) == uVar3) && ((uVar3 & 0x60) == 0)) && ((uVar3 & 7) < 5)) &&\n       ((uVar3 & 7) != 1)) {\n      if (*input_line_pointer == ',') {\n        input_line_pointer = input_line_pointer + 1;\n        expr(0,&pfVar2->personality,expr_evaluate);\n        cVar1 = (pfVar2->personality).field_0xc;\n        if (cVar1 == '\x02') {\n          if ((uVar3 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (cVar1 == '\x03') {\nLAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;\n          demand_empty_rest_of_line();\n          return;\n        }\n        pfVar2->per_encoding = 0xff;\n        pcVar4 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar4 = ".cfi_personality requires encoding and symbol arguments";\n        input_line_pointer = input_line_pointer + 1;\n      }\n    }\n    else {\n      pcVar4 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }\n  pcVar4 = (char *)dcgettext(0,pcVar4,5);\n  as_bad(pcVar4);\n  ignore_rest_of_line();\n  return;\n}\n\n" comment comment (function_definition "void dot_cfi_personality(int ignored)\n\n{\n  char cVar1;\n  fde_entry *pfVar2;\n  uint uVar3;\n  char *pcVar4;\n  \n  if (frchain_now->frch_cfi_data == (frch_cfi_data *)0x0) {\n    pcVar4 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    pfVar2 = frchain_now->frch_cfi_data->cur_fde_data;\n    uVar3 = get_absolute_expression();\n    if (uVar3 == 0xff) {\n      demand_empty_rest_of_line();\n      pfVar2->per_encoding = 0xff;\n      return;\n    }\n    if (((((uVar3 & 0xff) == uVar3) && ((uVar3 & 0x60) == 0)) && ((uVar3 & 7) < 5)) &&\n       ((uVar3 & 7) != 1)) {\n      if (*input_line_pointer == ',') {\n        input_line_pointer = input_line_pointer + 1;\n        expr(0,&pfVar2->personality,expr_evaluate);\n        cVar1 = (pfVar2->personality).field_0xc;\n        if (cVar1 == '\x02') {\n          if ((uVar3 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (cVar1 == '\x03') {\nLAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;\n          demand_empty_rest_of_line();\n          return;\n        }\n        pfVar2->per_encoding = 0xff;\n        pcVar4 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar4 = ".cfi_personality requires encoding and symbol arguments";\n        input_line_pointer = input_line_pointer + 1;\n      }\n    }\n    else {\n      pcVar4 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }\n  pcVar4 = (char *)dcgettext(0,pcVar4,5);\n  as_bad(pcVar4);\n  ignore_rest_of_line();\n  return;\n}" primitive_type (function_declarator "dot_cfi_personality(int ignored)" identifier (parameter_list "(int ignored)" ( (parameter_declaration "int ignored" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  fde_entry *pfVar2;\n  uint uVar3;\n  char *pcVar4;\n  \n  if (frchain_now->frch_cfi_data == (frch_cfi_data *)0x0) {\n    pcVar4 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    pfVar2 = frchain_now->frch_cfi_data->cur_fde_data;\n    uVar3 = get_absolute_expression();\n    if (uVar3 == 0xff) {\n      demand_empty_rest_of_line();\n      pfVar2->per_encoding = 0xff;\n      return;\n    }\n    if (((((uVar3 & 0xff) == uVar3) && ((uVar3 & 0x60) == 0)) && ((uVar3 & 7) < 5)) &&\n       ((uVar3 & 7) != 1)) {\n      if (*input_line_pointer == ',') {\n        input_line_pointer = input_line_pointer + 1;\n        expr(0,&pfVar2->personality,expr_evaluate);\n        cVar1 = (pfVar2->personality).field_0xc;\n        if (cVar1 == '\x02') {\n          if ((uVar3 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (cVar1 == '\x03') {\nLAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;\n          demand_empty_rest_of_line();\n          return;\n        }\n        pfVar2->per_encoding = 0xff;\n        pcVar4 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar4 = ".cfi_personality requires encoding and symbol arguments";\n        input_line_pointer = input_line_pointer + 1;\n      }\n    }\n    else {\n      pcVar4 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }\n  pcVar4 = (char *)dcgettext(0,pcVar4,5);\n  as_bad(pcVar4);\n  ignore_rest_of_line();\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "fde_entry *pfVar2;" type_identifier (pointer_declarator "*pfVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (if_statement "if (frchain_now->frch_cfi_data == (frch_cfi_data *)0x0) {\n    pcVar4 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    pfVar2 = frchain_now->frch_cfi_data->cur_fde_data;\n    uVar3 = get_absolute_expression();\n    if (uVar3 == 0xff) {\n      demand_empty_rest_of_line();\n      pfVar2->per_encoding = 0xff;\n      return;\n    }\n    if (((((uVar3 & 0xff) == uVar3) && ((uVar3 & 0x60) == 0)) && ((uVar3 & 7) < 5)) &&\n       ((uVar3 & 7) != 1)) {\n      if (*input_line_pointer == ',') {\n        input_line_pointer = input_line_pointer + 1;\n        expr(0,&pfVar2->personality,expr_evaluate);\n        cVar1 = (pfVar2->personality).field_0xc;\n        if (cVar1 == '\x02') {\n          if ((uVar3 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (cVar1 == '\x03') {\nLAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;\n          demand_empty_rest_of_line();\n          return;\n        }\n        pfVar2->per_encoding = 0xff;\n        pcVar4 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar4 = ".cfi_personality requires encoding and symbol arguments";\n        input_line_pointer = input_line_pointer + 1;\n      }\n    }\n    else {\n      pcVar4 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }" if (parenthesized_expression "(frchain_now->frch_cfi_data == (frch_cfi_data *)0x0)" ( (binary_expression "frchain_now->frch_cfi_data == (frch_cfi_data *)0x0" (field_expression "frchain_now->frch_cfi_data" identifier -> field_identifier) == (cast_expression "(frch_cfi_data *)0x0" ( (type_descriptor "frch_cfi_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar4 = "CFI instruction used without previous .cfi_startproc";\n  }" { (expression_statement "pcVar4 = "CFI instruction used without previous .cfi_startproc";" (assignment_expression "pcVar4 = "CFI instruction used without previous .cfi_startproc"" identifier = (string_literal ""CFI instruction used without previous .cfi_startproc"" " string_content ")) ;) }) (else_clause "else {\n    pfVar2 = frchain_now->frch_cfi_data->cur_fde_data;\n    uVar3 = get_absolute_expression();\n    if (uVar3 == 0xff) {\n      demand_empty_rest_of_line();\n      pfVar2->per_encoding = 0xff;\n      return;\n    }\n    if (((((uVar3 & 0xff) == uVar3) && ((uVar3 & 0x60) == 0)) && ((uVar3 & 7) < 5)) &&\n       ((uVar3 & 7) != 1)) {\n      if (*input_line_pointer == ',') {\n        input_line_pointer = input_line_pointer + 1;\n        expr(0,&pfVar2->personality,expr_evaluate);\n        cVar1 = (pfVar2->personality).field_0xc;\n        if (cVar1 == '\x02') {\n          if ((uVar3 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (cVar1 == '\x03') {\nLAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;\n          demand_empty_rest_of_line();\n          return;\n        }\n        pfVar2->per_encoding = 0xff;\n        pcVar4 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar4 = ".cfi_personality requires encoding and symbol arguments";\n        input_line_pointer = input_line_pointer + 1;\n      }\n    }\n    else {\n      pcVar4 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }" else (compound_statement "{\n    pfVar2 = frchain_now->frch_cfi_data->cur_fde_data;\n    uVar3 = get_absolute_expression();\n    if (uVar3 == 0xff) {\n      demand_empty_rest_of_line();\n      pfVar2->per_encoding = 0xff;\n      return;\n    }\n    if (((((uVar3 & 0xff) == uVar3) && ((uVar3 & 0x60) == 0)) && ((uVar3 & 7) < 5)) &&\n       ((uVar3 & 7) != 1)) {\n      if (*input_line_pointer == ',') {\n        input_line_pointer = input_line_pointer + 1;\n        expr(0,&pfVar2->personality,expr_evaluate);\n        cVar1 = (pfVar2->personality).field_0xc;\n        if (cVar1 == '\x02') {\n          if ((uVar3 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (cVar1 == '\x03') {\nLAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;\n          demand_empty_rest_of_line();\n          return;\n        }\n        pfVar2->per_encoding = 0xff;\n        pcVar4 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar4 = ".cfi_personality requires encoding and symbol arguments";\n        input_line_pointer = input_line_pointer + 1;\n      }\n    }\n    else {\n      pcVar4 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }" { (expression_statement "pfVar2 = frchain_now->frch_cfi_data->cur_fde_data;" (assignment_expression "pfVar2 = frchain_now->frch_cfi_data->cur_fde_data" identifier = (field_expression "frchain_now->frch_cfi_data->cur_fde_data" (field_expression "frchain_now->frch_cfi_data" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "uVar3 = get_absolute_expression();" (assignment_expression "uVar3 = get_absolute_expression()" identifier = (call_expression "get_absolute_expression()" identifier (argument_list "()" ( )))) ;) (if_statement "if (uVar3 == 0xff) {\n      demand_empty_rest_of_line();\n      pfVar2->per_encoding = 0xff;\n      return;\n    }" if (parenthesized_expression "(uVar3 == 0xff)" ( (binary_expression "uVar3 == 0xff" identifier == number_literal) )) (compound_statement "{\n      demand_empty_rest_of_line();\n      pfVar2->per_encoding = 0xff;\n      return;\n    }" { (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;) (expression_statement "pfVar2->per_encoding = 0xff;" (assignment_expression "pfVar2->per_encoding = 0xff" (field_expression "pfVar2->per_encoding" identifier -> field_identifier) = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if (((((uVar3 & 0xff) == uVar3) && ((uVar3 & 0x60) == 0)) && ((uVar3 & 7) < 5)) &&\n       ((uVar3 & 7) != 1)) {\n      if (*input_line_pointer == ',') {\n        input_line_pointer = input_line_pointer + 1;\n        expr(0,&pfVar2->personality,expr_evaluate);\n        cVar1 = (pfVar2->personality).field_0xc;\n        if (cVar1 == '\x02') {\n          if ((uVar3 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (cVar1 == '\x03') {\nLAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;\n          demand_empty_rest_of_line();\n          return;\n        }\n        pfVar2->per_encoding = 0xff;\n        pcVar4 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar4 = ".cfi_personality requires encoding and symbol arguments";\n        input_line_pointer = input_line_pointer + 1;\n      }\n    }\n    else {\n      pcVar4 = "invalid or unsupported encoding in .cfi_personality";\n    }" if (parenthesized_expression "(((((uVar3 & 0xff) == uVar3) && ((uVar3 & 0x60) == 0)) && ((uVar3 & 7) < 5)) &&\n       ((uVar3 & 7) != 1))" ( (binary_expression "((((uVar3 & 0xff) == uVar3) && ((uVar3 & 0x60) == 0)) && ((uVar3 & 7) < 5)) &&\n       ((uVar3 & 7) != 1)" (parenthesized_expression "((((uVar3 & 0xff) == uVar3) && ((uVar3 & 0x60) == 0)) && ((uVar3 & 7) < 5))" ( (binary_expression "(((uVar3 & 0xff) == uVar3) && ((uVar3 & 0x60) == 0)) && ((uVar3 & 7) < 5)" (parenthesized_expression "(((uVar3 & 0xff) == uVar3) && ((uVar3 & 0x60) == 0))" ( (binary_expression "((uVar3 & 0xff) == uVar3) && ((uVar3 & 0x60) == 0)" (parenthesized_expression "((uVar3 & 0xff) == uVar3)" ( (binary_expression "(uVar3 & 0xff) == uVar3" (parenthesized_expression "(uVar3 & 0xff)" ( (binary_expression "uVar3 & 0xff" identifier & number_literal) )) == identifier) )) && (parenthesized_expression "((uVar3 & 0x60) == 0)" ( (binary_expression "(uVar3 & 0x60) == 0" (parenthesized_expression "(uVar3 & 0x60)" ( (binary_expression "uVar3 & 0x60" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((uVar3 & 7) < 5)" ( (binary_expression "(uVar3 & 7) < 5" (parenthesized_expression "(uVar3 & 7)" ( (binary_expression "uVar3 & 7" identifier & number_literal) )) < number_literal) ))) )) && (parenthesized_expression "((uVar3 & 7) != 1)" ( (binary_expression "(uVar3 & 7) != 1" (parenthesized_expression "(uVar3 & 7)" ( (binary_expression "uVar3 & 7" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      if (*input_line_pointer == ',') {\n        input_line_pointer = input_line_pointer + 1;\n        expr(0,&pfVar2->personality,expr_evaluate);\n        cVar1 = (pfVar2->personality).field_0xc;\n        if (cVar1 == '\x02') {\n          if ((uVar3 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (cVar1 == '\x03') {\nLAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;\n          demand_empty_rest_of_line();\n          return;\n        }\n        pfVar2->per_encoding = 0xff;\n        pcVar4 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar4 = ".cfi_personality requires encoding and symbol arguments";\n        input_line_pointer = input_line_pointer + 1;\n      }\n    }" { (if_statement "if (*input_line_pointer == ',') {\n        input_line_pointer = input_line_pointer + 1;\n        expr(0,&pfVar2->personality,expr_evaluate);\n        cVar1 = (pfVar2->personality).field_0xc;\n        if (cVar1 == '\x02') {\n          if ((uVar3 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (cVar1 == '\x03') {\nLAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;\n          demand_empty_rest_of_line();\n          return;\n        }\n        pfVar2->per_encoding = 0xff;\n        pcVar4 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar4 = ".cfi_personality requires encoding and symbol arguments";\n        input_line_pointer = input_line_pointer + 1;\n      }" if (parenthesized_expression "(*input_line_pointer == ',')" ( (binary_expression "*input_line_pointer == ','" (pointer_expression "*input_line_pointer" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n        input_line_pointer = input_line_pointer + 1;\n        expr(0,&pfVar2->personality,expr_evaluate);\n        cVar1 = (pfVar2->personality).field_0xc;\n        if (cVar1 == '\x02') {\n          if ((uVar3 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (cVar1 == '\x03') {\nLAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;\n          demand_empty_rest_of_line();\n          return;\n        }\n        pfVar2->per_encoding = 0xff;\n        pcVar4 = "wrong second argument to .cfi_personality";\n      }" { (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) (expression_statement "expr(0,&pfVar2->personality,expr_evaluate);" (call_expression "expr(0,&pfVar2->personality,expr_evaluate)" identifier (argument_list "(0,&pfVar2->personality,expr_evaluate)" ( number_literal , (pointer_expression "&pfVar2->personality" & (field_expression "pfVar2->personality" identifier -> field_identifier)) , identifier ))) ;) (expression_statement "cVar1 = (pfVar2->personality).field_0xc;" (assignment_expression "cVar1 = (pfVar2->personality).field_0xc" identifier = (field_expression "(pfVar2->personality).field_0xc" (parenthesized_expression "(pfVar2->personality)" ( (field_expression "pfVar2->personality" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (cVar1 == '\x02') {\n          if ((uVar3 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (cVar1 == '\x03') {\nLAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;\n          demand_empty_rest_of_line();\n          return;\n        }" if (parenthesized_expression "(cVar1 == '\x02')" ( (binary_expression "cVar1 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n          if ((uVar3 & 0x70) != 0x10) goto LAB_0001d548;\n        }" { (if_statement "if ((uVar3 & 0x70) != 0x10) goto LAB_0001d548;" if (parenthesized_expression "((uVar3 & 0x70) != 0x10)" ( (binary_expression "(uVar3 & 0x70) != 0x10" (parenthesized_expression "(uVar3 & 0x70)" ( (binary_expression "uVar3 & 0x70" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d548;" goto statement_identifier ;)) }) (else_clause "else if (cVar1 == '\x03') {\nLAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;\n          demand_empty_rest_of_line();\n          return;\n        }" else (if_statement "if (cVar1 == '\x03') {\nLAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;\n          demand_empty_rest_of_line();\n          return;\n        }" if (parenthesized_expression "(cVar1 == '\x03')" ( (binary_expression "cVar1 == '\x03'" identifier == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;\n          demand_empty_rest_of_line();\n          return;\n        }" { (labeled_statement "LAB_0001d548:\n          pfVar2->per_encoding = (uchar)uVar3;" statement_identifier : (expression_statement "pfVar2->per_encoding = (uchar)uVar3;" (assignment_expression "pfVar2->per_encoding = (uchar)uVar3" (field_expression "pfVar2->per_encoding" identifier -> field_identifier) = (cast_expression "(uchar)uVar3" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;)) (expression_statement "demand_empty_rest_of_line();" (call_expression "demand_empty_rest_of_line()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))) (expression_statement "pfVar2->per_encoding = 0xff;" (assignment_expression "pfVar2->per_encoding = 0xff" (field_expression "pfVar2->per_encoding" identifier -> field_identifier) = number_literal) ;) (expression_statement "pcVar4 = "wrong second argument to .cfi_personality";" (assignment_expression "pcVar4 = "wrong second argument to .cfi_personality"" identifier = (string_literal ""wrong second argument to .cfi_personality"" " string_content ")) ;) }) (else_clause "else {\n        pcVar4 = ".cfi_personality requires encoding and symbol arguments";\n        input_line_pointer = input_line_pointer + 1;\n      }" else (compound_statement "{\n        pcVar4 = ".cfi_personality requires encoding and symbol arguments";\n        input_line_pointer = input_line_pointer + 1;\n      }" { (expression_statement "pcVar4 = ".cfi_personality requires encoding and symbol arguments";" (assignment_expression "pcVar4 = ".cfi_personality requires encoding and symbol arguments"" identifier = (string_literal "".cfi_personality requires encoding and symbol arguments"" " string_content ")) ;) (expression_statement "input_line_pointer = input_line_pointer + 1;" (assignment_expression "input_line_pointer = input_line_pointer + 1" identifier = (binary_expression "input_line_pointer + 1" identifier + number_literal)) ;) }))) }) (else_clause "else {\n      pcVar4 = "invalid or unsupported encoding in .cfi_personality";\n    }" else (compound_statement "{\n      pcVar4 = "invalid or unsupported encoding in .cfi_personality";\n    }" { (expression_statement "pcVar4 = "invalid or unsupported encoding in .cfi_personality";" (assignment_expression "pcVar4 = "invalid or unsupported encoding in .cfi_personality"" identifier = (string_literal ""invalid or unsupported encoding in .cfi_personality"" " string_content ")) ;) }))) }))) (expression_statement "pcVar4 = (char *)dcgettext(0,pcVar4,5);" (assignment_expression "pcVar4 = (char *)dcgettext(0,pcVar4,5)" identifier = (cast_expression "(char *)dcgettext(0,pcVar4,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,pcVar4,5)" identifier (argument_list "(0,pcVar4,5)" ( number_literal , identifier , number_literal ))))) ;) (expression_statement "as_bad(pcVar4);" (call_expression "as_bad(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "ignore_rest_of_line();" (call_expression "ignore_rest_of_line()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0001d440(void)\n\n{\n  int iVar1;\n  uint uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  \n  if (*(int **)(DAT_00084988 + 0x48) == (int *)0x0) {\n    pcVar3 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }\n  uVar4 = dcgettext(0,pcVar3,5);\n  FUN_0002a980(uVar4);\n  FUN_0002cc80();\n  return;\n}\n\n" (function_definition "void FUN_0001d440(void)\n\n{\n  int iVar1;\n  uint uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  \n  if (*(int **)(DAT_00084988 + 0x48) == (int *)0x0) {\n    pcVar3 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }\n  uVar4 = dcgettext(0,pcVar3,5);\n  FUN_0002a980(uVar4);\n  FUN_0002cc80();\n  return;\n}" primitive_type (function_declarator "FUN_0001d440(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  uint uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  \n  if (*(int **)(DAT_00084988 + 0x48) == (int *)0x0) {\n    pcVar3 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }\n  uVar4 = dcgettext(0,pcVar3,5);\n  FUN_0002a980(uVar4);\n  FUN_0002cc80();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (if_statement "if (*(int **)(DAT_00084988 + 0x48) == (int *)0x0) {\n    pcVar3 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }" if (parenthesized_expression "(*(int **)(DAT_00084988 + 0x48) == (int *)0x0)" ( (binary_expression "*(int **)(DAT_00084988 + 0x48) == (int *)0x0" (pointer_expression "*(int **)(DAT_00084988 + 0x48)" * (cast_expression "(int **)(DAT_00084988 + 0x48)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00084988 + 0x48)" ( (binary_expression "DAT_00084988 + 0x48" identifier + number_literal) )))) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcVar3 = "CFI instruction used without previous .cfi_startproc";\n  }" { (expression_statement "pcVar3 = "CFI instruction used without previous .cfi_startproc";" (assignment_expression "pcVar3 = "CFI instruction used without previous .cfi_startproc"" identifier = (string_literal ""CFI instruction used without previous .cfi_startproc"" " string_content ")) ;) }) (else_clause "else {\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }" else (compound_statement "{\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }" { (expression_statement "iVar1 = **(int **)(DAT_00084988 + 0x48);" (assignment_expression "iVar1 = **(int **)(DAT_00084988 + 0x48)" identifier = (pointer_expression "**(int **)(DAT_00084988 + 0x48)" * (pointer_expression "*(int **)(DAT_00084988 + 0x48)" * (cast_expression "(int **)(DAT_00084988 + 0x48)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00084988 + 0x48)" ( (binary_expression "DAT_00084988 + 0x48" identifier + number_literal) )))))) ;) (expression_statement "uVar2 = FUN_0002c260();" (assignment_expression "uVar2 = FUN_0002c260()" identifier = (call_expression "FUN_0002c260()" identifier (argument_list "()" ( )))) ;) (if_statement "if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }" if (parenthesized_expression "(uVar2 == 0xff)" ( (binary_expression "uVar2 == 0xff" identifier == number_literal) )) (compound_statement "{\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }" { (expression_statement "FUN_0002ce90();" (call_expression "FUN_0002ce90()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)(iVar1 + 0x14) = 0xff;" (assignment_expression "*(undefined1 *)(iVar1 + 0x14) = 0xff" (pointer_expression "*(undefined1 *)(iVar1 + 0x14)" * (cast_expression "(undefined1 *)(iVar1 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) })) (if_statement "if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }" if (parenthesized_expression "(((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1))" ( (binary_expression "((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)" (parenthesized_expression "((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5))" ( (binary_expression "(((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)" (parenthesized_expression "(((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0))" ( (binary_expression "((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)" (parenthesized_expression "((uVar2 & 0xff) == uVar2)" ( (binary_expression "(uVar2 & 0xff) == uVar2" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) == identifier) )) && (parenthesized_expression "((uVar2 & 0x60) == 0)" ( (binary_expression "(uVar2 & 0x60) == 0" (parenthesized_expression "(uVar2 & 0x60)" ( (binary_expression "uVar2 & 0x60" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((uVar2 & 7) < 5)" ( (binary_expression "(uVar2 & 7) < 5" (parenthesized_expression "(uVar2 & 7)" ( (binary_expression "uVar2 & 7" identifier & number_literal) )) < number_literal) ))) )) && (parenthesized_expression "((uVar2 & 7) != 1)" ( (binary_expression "(uVar2 & 7) != 1" (parenthesized_expression "(uVar2 & 7)" ( (binary_expression "uVar2 & 7" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }" { (if_statement "if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }" if (parenthesized_expression "(*DAT_000848f0 == ',')" ( (binary_expression "*DAT_000848f0 == ','" (pointer_expression "*DAT_000848f0" * identifier) == (char_literal "','" ' character ')) )) (compound_statement "{\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }" { (expression_statement "DAT_000848f0 = DAT_000848f0 + 1;" (assignment_expression "DAT_000848f0 = DAT_000848f0 + 1" identifier = (binary_expression "DAT_000848f0 + 1" identifier + number_literal)) ;) (expression_statement "FUN_000214a0(0,iVar1 + 0x1c,0);" (call_expression "FUN_000214a0(0,iVar1 + 0x1c,0)" identifier (argument_list "(0,iVar1 + 0x1c,0)" ( number_literal , (binary_expression "iVar1 + 0x1c" identifier + number_literal) , number_literal ))) ;) (if_statement "if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }" if (parenthesized_expression "(*(char *)(iVar1 + 0x28) == '\x02')" ( (binary_expression "*(char *)(iVar1 + 0x28) == '\x02'" (pointer_expression "*(char *)(iVar1 + 0x28)" * (cast_expression "(char *)(iVar1 + 0x28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x28)" ( (binary_expression "iVar1 + 0x28" identifier + number_literal) )))) == (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }" { (if_statement "if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;" if (parenthesized_expression "((uVar2 & 0x70) != 0x10)" ( (binary_expression "(uVar2 & 0x70) != 0x10" (parenthesized_expression "(uVar2 & 0x70)" ( (binary_expression "uVar2 & 0x70" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d548;" goto statement_identifier ;)) }) (else_clause "else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }" else (if_statement "if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }" if (parenthesized_expression "(*(char *)(iVar1 + 0x28) == '\x03')" ( (binary_expression "*(char *)(iVar1 + 0x28) == '\x03'" (pointer_expression "*(char *)(iVar1 + 0x28)" * (cast_expression "(char *)(iVar1 + 0x28)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x28)" ( (binary_expression "iVar1 + 0x28" identifier + number_literal) )))) == (char_literal "'\x03'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }" { (labeled_statement "LAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;" statement_identifier : (expression_statement "*(char *)(iVar1 + 0x14) = (char)uVar2;" (assignment_expression "*(char *)(iVar1 + 0x14) = (char)uVar2" (pointer_expression "*(char *)(iVar1 + 0x14)" * (cast_expression "(char *)(iVar1 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) = (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;)) (expression_statement "FUN_0002ce90();" (call_expression "FUN_0002ce90()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))) (expression_statement "*(undefined1 *)(iVar1 + 0x14) = 0xff;" (assignment_expression "*(undefined1 *)(iVar1 + 0x14) = 0xff" (pointer_expression "*(undefined1 *)(iVar1 + 0x14)" * (cast_expression "(undefined1 *)(iVar1 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x14)" ( (binary_expression "iVar1 + 0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar3 = "wrong second argument to .cfi_personality";" (assignment_expression "pcVar3 = "wrong second argument to .cfi_personality"" identifier = (string_literal ""wrong second argument to .cfi_personality"" " string_content ")) ;) }) (else_clause "else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }" else (compound_statement "{\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }" { (expression_statement "pcVar3 = ".cfi_personality requires encoding and symbol arguments";" (assignment_expression "pcVar3 = ".cfi_personality requires encoding and symbol arguments"" identifier = (string_literal "".cfi_personality requires encoding and symbol arguments"" " string_content ")) ;) (expression_statement "DAT_000848f0 = DAT_000848f0 + 1;" (assignment_expression "DAT_000848f0 = DAT_000848f0 + 1" identifier = (binary_expression "DAT_000848f0 + 1" identifier + number_literal)) ;) }))) }) (else_clause "else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }" else (compound_statement "{\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }" { (expression_statement "pcVar3 = "invalid or unsupported encoding in .cfi_personality";" (assignment_expression "pcVar3 = "invalid or unsupported encoding in .cfi_personality"" identifier = (string_literal ""invalid or unsupported encoding in .cfi_personality"" " string_content ")) ;) }))) }))) (expression_statement "uVar4 = dcgettext(0,pcVar3,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar3,5)" identifier = (call_expression "dcgettext(0,pcVar3,5)" identifier (argument_list "(0,pcVar3,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "FUN_0002a980(uVar4);" (call_expression "FUN_0002a980(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "FUN_0002cc80();" (call_expression "FUN_0002cc80()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == IDENT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) < LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }))) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0001d440(void)\n\n{\n  int iVar1;\n  uint uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  \n  if (*(int **)(DAT_00084988 + 0x48) == (int *)0x0) {\n    pcVar3 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }\n  uVar4 = dcgettext(0,pcVar3,5);\n  FUN_0002a980(uVar4);\n  FUN_0002cc80();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0001d440(void)" (identifier "FUN_0001d440") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  uint uVar2;\n  char *pcVar3;\n  undefined4 uVar4;\n  \n  if (*(int **)(DAT_00084988 + 0x48) == (int *)0x0) {\n    pcVar3 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }\n  uVar4 = dcgettext(0,pcVar3,5);\n  FUN_0002a980(uVar4);\n  FUN_0002cc80();\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "char *pcVar3;" (primitive_type "char") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (if_statement "if (*(int **)(DAT_00084988 + 0x48) == (int *)0x0) {\n    pcVar3 = "CFI instruction used without previous .cfi_startproc";\n  }\n  else {\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }" (if "if") (parenthesized_expression "(*(int **)(DAT_00084988 + 0x48) == (int *)0x0)" (( "(") (binary_expression "*(int **)(DAT_00084988 + 0x48) == (int *)0x0" (pointer_expression "*(int **)(DAT_00084988 + 0x48)" (* "*") (cast_expression "(int **)(DAT_00084988 + 0x48)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_00084988 + 0x48)" (( "(") (binary_expression "DAT_00084988 + 0x48" (identifier "DAT_00084988") (+ "+") (number_literal "0x48")) () ")")))) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pcVar3 = "CFI instruction used without previous .cfi_startproc";\n  }" ({ "{") (expression_statement "pcVar3 = "CFI instruction used without previous .cfi_startproc";" (assignment_expression "pcVar3 = "CFI instruction used without previous .cfi_startproc"" (identifier "pcVar3") (= "=") (string_literal ""CFI instruction used without previous .cfi_startproc"" (" """) (string_content "CFI instruction used without previous .cfi_startproc") (" """))) (; ";")) (} "}")) (else_clause "else {\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }" (else "else") (compound_statement "{\n    iVar1 = **(int **)(DAT_00084988 + 0x48);\n    uVar2 = FUN_0002c260();\n    if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }\n    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }\n  }" ({ "{") (expression_statement "iVar1 = **(int **)(DAT_00084988 + 0x48);" (assignment_expression "iVar1 = **(int **)(DAT_00084988 + 0x48)" (identifier "iVar1") (= "=") (pointer_expression "**(int **)(DAT_00084988 + 0x48)" (* "*") (pointer_expression "*(int **)(DAT_00084988 + 0x48)" (* "*") (cast_expression "(int **)(DAT_00084988 + 0x48)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_00084988 + 0x48)" (( "(") (binary_expression "DAT_00084988 + 0x48" (identifier "DAT_00084988") (+ "+") (number_literal "0x48")) () ")")))))) (; ";")) (expression_statement "uVar2 = FUN_0002c260();" (assignment_expression "uVar2 = FUN_0002c260()" (identifier "uVar2") (= "=") (call_expression "FUN_0002c260()" (identifier "FUN_0002c260") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (uVar2 == 0xff) {\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }" (if "if") (parenthesized_expression "(uVar2 == 0xff)" (( "(") (binary_expression "uVar2 == 0xff" (identifier "uVar2") (== "==") (number_literal "0xff")) () ")")) (compound_statement "{\n      FUN_0002ce90();\n      *(undefined1 *)(iVar1 + 0x14) = 0xff;\n      return;\n    }" ({ "{") (expression_statement "FUN_0002ce90();" (call_expression "FUN_0002ce90()" (identifier "FUN_0002ce90") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(iVar1 + 0x14) = 0xff;" (assignment_expression "*(undefined1 *)(iVar1 + 0x14) = 0xff" (pointer_expression "*(undefined1 *)(iVar1 + 0x14)" (* "*") (cast_expression "(undefined1 *)(iVar1 + 0x14)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x14)" (( "(") (binary_expression "iVar1 + 0x14" (identifier "iVar1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0xff")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)) {\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }\n    else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }" (if "if") (parenthesized_expression "(((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1))" (( "(") (binary_expression "((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&\n       ((uVar2 & 7) != 1)" (parenthesized_expression "((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5))" (( "(") (binary_expression "(((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)" (parenthesized_expression "(((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0))" (( "(") (binary_expression "((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)" (parenthesized_expression "((uVar2 & 0xff) == uVar2)" (( "(") (binary_expression "(uVar2 & 0xff) == uVar2" (parenthesized_expression "(uVar2 & 0xff)" (( "(") (binary_expression "uVar2 & 0xff" (identifier "uVar2") (& "&") (number_literal "0xff")) () ")")) (== "==") (identifier "uVar2")) () ")")) (&& "&&") (parenthesized_expression "((uVar2 & 0x60) == 0)" (( "(") (binary_expression "(uVar2 & 0x60) == 0" (parenthesized_expression "(uVar2 & 0x60)" (( "(") (binary_expression "uVar2 & 0x60" (identifier "uVar2") (& "&") (number_literal "0x60")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar2 & 7) < 5)" (( "(") (binary_expression "(uVar2 & 7) < 5" (parenthesized_expression "(uVar2 & 7)" (( "(") (binary_expression "uVar2 & 7" (identifier "uVar2") (& "&") (number_literal "7")) () ")")) (< "<") (number_literal "5")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar2 & 7) != 1)" (( "(") (binary_expression "(uVar2 & 7) != 1" (parenthesized_expression "(uVar2 & 7)" (( "(") (binary_expression "uVar2 & 7" (identifier "uVar2") (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n      if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }\n    }" ({ "{") (if_statement "if (*DAT_000848f0 == ',') {\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }\n      else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }" (if "if") (parenthesized_expression "(*DAT_000848f0 == ',')" (( "(") (binary_expression "*DAT_000848f0 == ','" (pointer_expression "*DAT_000848f0" (* "*") (identifier "DAT_000848f0")) (== "==") (char_literal "','" (' "'") (character ",") (' "'"))) () ")")) (compound_statement "{\n        DAT_000848f0 = DAT_000848f0 + 1;\n        FUN_000214a0(0,iVar1 + 0x1c,0);\n        if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }\n        *(undefined1 *)(iVar1 + 0x14) = 0xff;\n        pcVar3 = "wrong second argument to .cfi_personality";\n      }" ({ "{") (expression_statement "DAT_000848f0 = DAT_000848f0 + 1;" (assignment_expression "DAT_000848f0 = DAT_000848f0 + 1" (identifier "DAT_000848f0") (= "=") (binary_expression "DAT_000848f0 + 1" (identifier "DAT_000848f0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_000214a0(0,iVar1 + 0x1c,0);" (call_expression "FUN_000214a0(0,iVar1 + 0x1c,0)" (identifier "FUN_000214a0") (argument_list "(0,iVar1 + 0x1c,0)" (( "(") (number_literal "0") (, ",") (binary_expression "iVar1 + 0x1c" (identifier "iVar1") (+ "+") (number_literal "0x1c")) (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (*(char *)(iVar1 + 0x28) == '\x02') {\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }\n        else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }" (if "if") (parenthesized_expression "(*(char *)(iVar1 + 0x28) == '\x02')" (( "(") (binary_expression "*(char *)(iVar1 + 0x28) == '\x02'" (pointer_expression "*(char *)(iVar1 + 0x28)" (* "*") (cast_expression "(char *)(iVar1 + 0x28)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x28)" (( "(") (binary_expression "iVar1 + 0x28" (identifier "iVar1") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;\n        }" ({ "{") (if_statement "if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;" (if "if") (parenthesized_expression "((uVar2 & 0x70) != 0x10)" (( "(") (binary_expression "(uVar2 & 0x70) != 0x10" (parenthesized_expression "(uVar2 & 0x70)" (( "(") (binary_expression "uVar2 & 0x70" (identifier "uVar2") (& "&") (number_literal "0x70")) () ")")) (!= "!=") (number_literal "0x10")) () ")")) (goto_statement "goto LAB_0001d548;" (goto "goto") (statement_identifier "LAB_0001d548") (; ";"))) (} "}")) (else_clause "else if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }" (else "else") (if_statement "if (*(char *)(iVar1 + 0x28) == '\x03') {\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }" (if "if") (parenthesized_expression "(*(char *)(iVar1 + 0x28) == '\x03')" (( "(") (binary_expression "*(char *)(iVar1 + 0x28) == '\x03'" (pointer_expression "*(char *)(iVar1 + 0x28)" (* "*") (cast_expression "(char *)(iVar1 + 0x28)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x28)" (( "(") (binary_expression "iVar1 + 0x28" (identifier "iVar1") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (char_literal "'\x03'" (' "'") (escape_sequence "\x03") (' "'"))) () ")")) (compound_statement "{\nLAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;\n          FUN_0002ce90();\n          return;\n        }" ({ "{") (labeled_statement "LAB_0001d548:\n          *(char *)(iVar1 + 0x14) = (char)uVar2;" (statement_identifier "LAB_0001d548") (: ":") (expression_statement "*(char *)(iVar1 + 0x14) = (char)uVar2;" (assignment_expression "*(char *)(iVar1 + 0x14) = (char)uVar2" (pointer_expression "*(char *)(iVar1 + 0x14)" (* "*") (cast_expression "(char *)(iVar1 + 0x14)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x14)" (( "(") (binary_expression "iVar1 + 0x14" (identifier "iVar1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (cast_expression "(char)uVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar2"))) (; ";"))) (expression_statement "FUN_0002ce90();" (call_expression "FUN_0002ce90()" (identifier "FUN_0002ce90") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))))) (expression_statement "*(undefined1 *)(iVar1 + 0x14) = 0xff;" (assignment_expression "*(undefined1 *)(iVar1 + 0x14) = 0xff" (pointer_expression "*(undefined1 *)(iVar1 + 0x14)" (* "*") (cast_expression "(undefined1 *)(iVar1 + 0x14)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x14)" (( "(") (binary_expression "iVar1 + 0x14" (identifier "iVar1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0xff")) (; ";")) (expression_statement "pcVar3 = "wrong second argument to .cfi_personality";" (assignment_expression "pcVar3 = "wrong second argument to .cfi_personality"" (identifier "pcVar3") (= "=") (string_literal ""wrong second argument to .cfi_personality"" (" """) (string_content "wrong second argument to .cfi_personality") (" """))) (; ";")) (} "}")) (else_clause "else {\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }" (else "else") (compound_statement "{\n        pcVar3 = ".cfi_personality requires encoding and symbol arguments";\n        DAT_000848f0 = DAT_000848f0 + 1;\n      }" ({ "{") (expression_statement "pcVar3 = ".cfi_personality requires encoding and symbol arguments";" (assignment_expression "pcVar3 = ".cfi_personality requires encoding and symbol arguments"" (identifier "pcVar3") (= "=") (string_literal "".cfi_personality requires encoding and symbol arguments"" (" """) (string_content ".cfi_personality requires encoding and symbol arguments") (" """))) (; ";")) (expression_statement "DAT_000848f0 = DAT_000848f0 + 1;" (assignment_expression "DAT_000848f0 = DAT_000848f0 + 1" (identifier "DAT_000848f0") (= "=") (binary_expression "DAT_000848f0 + 1" (identifier "DAT_000848f0") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }" (else "else") (compound_statement "{\n      pcVar3 = "invalid or unsupported encoding in .cfi_personality";\n    }" ({ "{") (expression_statement "pcVar3 = "invalid or unsupported encoding in .cfi_personality";" (assignment_expression "pcVar3 = "invalid or unsupported encoding in .cfi_personality"" (identifier "pcVar3") (= "=") (string_literal ""invalid or unsupported encoding in .cfi_personality"" (" """) (string_content "invalid or unsupported encoding in .cfi_personality") (" """))) (; ";")) (} "}")))) (} "}")))) (expression_statement "uVar4 = dcgettext(0,pcVar3,5);" (assignment_expression "uVar4 = dcgettext(0,pcVar3,5)" (identifier "uVar4") (= "=") (call_expression "dcgettext(0,pcVar3,5)" (identifier "dcgettext") (argument_list "(0,pcVar3,5)" (( "(") (number_literal "0") (, ",") (identifier "pcVar3") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002a980(uVar4);" (call_expression "FUN_0002a980(uVar4)" (identifier "FUN_0002a980") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "FUN_0002cc80();" (call_expression "FUN_0002cc80()" (identifier "FUN_0002cc80") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(int ignored)

{
  char var_6;
  type_1 *pfVar2;
  type_2 var_2;
  char *pcVar4;
  
  if (frchain_now->type_3 == (type_3 *)0x0) {
    pcVar4 = "CFI instruction used without previous .cfi_startproc";
  }
  else {
    pfVar2 = frchain_now->type_3->cur_fde_data;
    var_2 = var_1();
    if (var_2 == 0xff) {
      var_3();
      pfVar2->per_encoding = 0xff;
      return;
    }
    if (((((var_2 & 0xff) == var_2) && ((var_2 & 0x60) == 0)) && ((var_2 & 7) < 5)) &&
       ((var_2 & 7) != 1)) {
      if (*var_4 == ',') {
        var_4 = var_4 + 1;
        var_5(0,&pfVar2->personality,expr_evaluate);
        var_6 = (pfVar2->personality).field_0xc;
        if (var_6 == '\x02') {
          if ((var_2 & 0x70) != 0x10) goto LAB_0001d548;
        }
        else if (var_6 == '\x03') {
LAB_0001d548:
          pfVar2->per_encoding = (type_4)var_2;
          var_3();
          return;
        }
        pfVar2->per_encoding = 0xff;
        pcVar4 = "wrong second argument to .cfi_personality";
      }
      else {
        pcVar4 = ".cfi_personality requires encoding and symbol arguments";
        var_4 = var_4 + 1;
      }
    }
    else {
      pcVar4 = "invalid or unsupported encoding in .cfi_personality";
    }
  }
  pcVar4 = (char *)var_7(0,pcVar4,5);
  var_8(pcVar4);
  var_9();
  return;
}


(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: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (identifier))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

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

void MASKED(void)

{
  int iVar1;
  uint uVar2;
  char *pcVar3;
  undefined4 uVar4;
  
  if (*(int **)(DAT_00084988 + 0x48) == (int *)0x0) {
    pcVar3 = "CFI instruction used without previous .cfi_startproc";
  }
  else {
    iVar1 = **(int **)(DAT_00084988 + 0x48);
    uVar2 = FUN_0002c260();
    if (uVar2 == 0xff) {
      FUN_0002ce90();
      *(undefined1 *)(iVar1 + 0x14) = 0xff;
      return;
    }
    if (((((uVar2 & 0xff) == uVar2) && ((uVar2 & 0x60) == 0)) && ((uVar2 & 7) < 5)) &&
       ((uVar2 & 7) != 1)) {
      if (*DAT_000848f0 == ',') {
        DAT_000848f0 = DAT_000848f0 + 1;
        FUN_000214a0(0,iVar1 + 0x1c,0);
        if (*(char *)(iVar1 + 0x28) == '\x02') {
          if ((uVar2 & 0x70) != 0x10) goto LAB_0001d548;
        }
        else if (*(char *)(iVar1 + 0x28) == '\x03') {
LAB_0001d548:
          *(char *)(iVar1 + 0x14) = (char)uVar2;
          FUN_0002ce90();
          return;
        }
        *(undefined1 *)(iVar1 + 0x14) = 0xff;
        pcVar3 = "wrong second argument to .cfi_personality";
      }
      else {
        pcVar3 = ".cfi_personality requires encoding and symbol arguments";
        DAT_000848f0 = DAT_000848f0 + 1;
      }
    }
    else {
      pcVar3 = "invalid or unsupported encoding in .cfi_personality";
    }
  }
  uVar4 = dcgettext(0,pcVar3,5);
  FUN_0002a980(uVar4);
  FUN_0002cc80();
  return;
}

