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

uint __regparm3 encoding_size(uchar encoding)

{
  byte bVar1;
  int iVar2;
  
  if (encoding == 0xff) {
    return 0;
  }
  bVar1 = encoding & 7;
  if (bVar1 == 2) {
    return 2;
  }
  if (bVar1 < 3) {
    if (bVar1 == 0) {
      iVar2 = bfd_get_arch_size(stdoutput);
      return (uint)(iVar2 == 0x40) * 4 + 4;
    }
  }
  else {
    if (bVar1 == 3) {
      return 4;
    }
    if (bVar1 == 4) {
      return 8;
    }
  }
                    /* WARNING: Subroutine does not return */
  as_abort("../../gas/dw2gencfi.c",0xb0,"encoding_size");
}



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

char __regparm3 FUN_0001e2b0(byte param_1)

{
  int iVar1;
  
  if (param_1 == 0xff) {
    return '\0';
  }
  param_1 = param_1 & 7;
  if (param_1 == 2) {
    return '\x02';
  }
  if (param_1 < 3) {
    if (param_1 == 0) {
      iVar1 = bfd_get_arch_size(DAT_00072e64);
      return (iVar1 == 0x40) * '\x04' + '\x04';
    }
  }
  else {
    if (param_1 == 3) {
      return '\x04';
    }
    if (param_1 == 4) {
      return '\b';
    }
  }
                    /* WARNING: Subroutine does not return */
  FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1);
}


PUSH EBX
CALL 0x000160b0
ADD EBX,0x4bd4a
SUB ESP,0x8
CMP AL,0xff
JZ 0x0001e320
AND EAX,0x7
CMP AL,0x2
JZ 0x0001e330
JBE 0x0001e2e0
CMP AL,0x3
JZ 0x0001e310
CMP AL,0x4
JNZ 0x0001e33a
ADD ESP,0x8
MOV EAX,0x8
POP EBX
RET
TEST AL,AL
JNZ 0x0001e33a
LEA EAX,[EBX + 0x8e64]
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00014350
ADD ESP,0x10
CMP EAX,0x40
SETZ AL
ADD ESP,0x8
MOVZX EAX,AL
POP EBX
LEA EAX,[EAX*0x4 + 0x4]
RET
ADD ESP,0x8
MOV EAX,0x4
POP EBX
RET
ADD ESP,0x8
XOR EAX,EAX
POP EBX
RET
ADD ESP,0x8
MOV EAX,0x2
POP EBX
RET
PUSH EAX
LEA EAX,[EBX + 0xfffe2a18]
PUSH EAX
LEA EAX,[EBX + 0xfffe283b]
PUSH 0xb0
PUSH EAX
CALL 0x0002a860
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nchar __regparm3 FUN_0001e2b0(byte param_1)\n\n{\n  int iVar1;\n  \n  if (param_1 == 0xff) {\n    return '\0';\n  }\n  param_1 = param_1 & 7;\n  if (param_1 == 2) {\n    return '\x02';\n  }\n  if (param_1 < 3) {\n    if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }\n  }\n  else {\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1);\n}\n\n" comment (function_definition "char __regparm3 FUN_0001e2b0(byte param_1)\n\n{\n  int iVar1;\n  \n  if (param_1 == 0xff) {\n    return '\0';\n  }\n  param_1 = param_1 & 7;\n  if (param_1 == 2) {\n    return '\x02';\n  }\n  if (param_1 < 3) {\n    if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }\n  }\n  else {\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1);\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0001e2b0(byte param_1)" identifier (parameter_list "(byte param_1)" ( (parameter_declaration "byte param_1" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  \n  if (param_1 == 0xff) {\n    return '\0';\n  }\n  param_1 = param_1 & 7;\n  if (param_1 == 2) {\n    return '\x02';\n  }\n  if (param_1 < 3) {\n    if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }\n  }\n  else {\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (if_statement "if (param_1 == 0xff) {\n    return '\0';\n  }" if (parenthesized_expression "(param_1 == 0xff)" ( (binary_expression "param_1 == 0xff" identifier == number_literal) )) (compound_statement "{\n    return '\0';\n  }" { (return_statement "return '\0';" return (char_literal "'\0'" ' escape_sequence ') ;) })) (expression_statement "param_1 = param_1 & 7;" (assignment_expression "param_1 = param_1 & 7" identifier = (binary_expression "param_1 & 7" identifier & number_literal)) ;) (if_statement "if (param_1 == 2) {\n    return '\x02';\n  }" if (parenthesized_expression "(param_1 == 2)" ( (binary_expression "param_1 == 2" identifier == number_literal) )) (compound_statement "{\n    return '\x02';\n  }" { (return_statement "return '\x02';" return (char_literal "'\x02'" ' escape_sequence ') ;) })) (if_statement "if (param_1 < 3) {\n    if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }\n  }\n  else {\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }" if (parenthesized_expression "(param_1 < 3)" ( (binary_expression "param_1 < 3" identifier < number_literal) )) (compound_statement "{\n    if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }\n  }" { (if_statement "if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }" { (expression_statement "iVar1 = bfd_get_arch_size(DAT_00072e64);" (assignment_expression "iVar1 = bfd_get_arch_size(DAT_00072e64)" identifier = (call_expression "bfd_get_arch_size(DAT_00072e64)" identifier (argument_list "(DAT_00072e64)" ( identifier )))) ;) (return_statement "return (iVar1 == 0x40) * '\x04' + '\x04';" return (binary_expression "(iVar1 == 0x40) * '\x04' + '\x04'" (binary_expression "(iVar1 == 0x40) * '\x04'" (parenthesized_expression "(iVar1 == 0x40)" ( (binary_expression "iVar1 == 0x40" identifier == number_literal) )) * (char_literal "'\x04'" ' escape_sequence ')) + (char_literal "'\x04'" ' escape_sequence ')) ;) })) }) (else_clause "else {\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }" else (compound_statement "{\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }" { (if_statement "if (param_1 == 3) {\n      return '\x04';\n    }" if (parenthesized_expression "(param_1 == 3)" ( (binary_expression "param_1 == 3" identifier == number_literal) )) (compound_statement "{\n      return '\x04';\n    }" { (return_statement "return '\x04';" return (char_literal "'\x04'" ' escape_sequence ') ;) })) (if_statement "if (param_1 == 4) {\n      return '\b';\n    }" if (parenthesized_expression "(param_1 == 4)" ( (binary_expression "param_1 == 4" identifier == number_literal) )) (compound_statement "{\n      return '\b';\n    }" { (return_statement "return '\b';" return (char_literal "'\b'" ' escape_sequence ') ;) })) }))) comment (expression_statement "FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1);" (call_expression "FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1)" identifier (argument_list "("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1)" ( (string_literal ""../../gas/dw2gencfi.c"" " string_content ") , number_literal , (string_literal ""encoding_size"" " string_content ") , identifier ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint __regparm3 encoding_size(uchar encoding)\n\n{\n  byte bVar1;\n  int iVar2;\n  \n  if (encoding == 0xff) {\n    return 0;\n  }\n  bVar1 = encoding & 7;\n  if (bVar1 == 2) {\n    return 2;\n  }\n  if (bVar1 < 3) {\n    if (bVar1 == 0) {\n      iVar2 = bfd_get_arch_size(stdoutput);\n      return (uint)(iVar2 == 0x40) * 4 + 4;\n    }\n  }\n  else {\n    if (bVar1 == 3) {\n      return 4;\n    }\n    if (bVar1 == 4) {\n      return 8;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/dw2gencfi.c",0xb0,"encoding_size");\n}\n\n" comment (function_definition "uint __regparm3 encoding_size(uchar encoding)\n\n{\n  byte bVar1;\n  int iVar2;\n  \n  if (encoding == 0xff) {\n    return 0;\n  }\n  bVar1 = encoding & 7;\n  if (bVar1 == 2) {\n    return 2;\n  }\n  if (bVar1 < 3) {\n    if (bVar1 == 0) {\n      iVar2 = bfd_get_arch_size(stdoutput);\n      return (uint)(iVar2 == 0x40) * 4 + 4;\n    }\n  }\n  else {\n    if (bVar1 == 3) {\n      return 4;\n    }\n    if (bVar1 == 4) {\n      return 8;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/dw2gencfi.c",0xb0,"encoding_size");\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "encoding_size(uchar encoding)" identifier (parameter_list "(uchar encoding)" ( (parameter_declaration "uchar encoding" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  \n  if (encoding == 0xff) {\n    return 0;\n  }\n  bVar1 = encoding & 7;\n  if (bVar1 == 2) {\n    return 2;\n  }\n  if (bVar1 < 3) {\n    if (bVar1 == 0) {\n      iVar2 = bfd_get_arch_size(stdoutput);\n      return (uint)(iVar2 == 0x40) * 4 + 4;\n    }\n  }\n  else {\n    if (bVar1 == 3) {\n      return 4;\n    }\n    if (bVar1 == 4) {\n      return 8;\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  as_abort("../../gas/dw2gencfi.c",0xb0,"encoding_size");\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (if_statement "if (encoding == 0xff) {\n    return 0;\n  }" if (parenthesized_expression "(encoding == 0xff)" ( (binary_expression "encoding == 0xff" identifier == number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar1 = encoding & 7;" (assignment_expression "bVar1 = encoding & 7" identifier = (binary_expression "encoding & 7" identifier & number_literal)) ;) (if_statement "if (bVar1 == 2) {\n    return 2;\n  }" if (parenthesized_expression "(bVar1 == 2)" ( (binary_expression "bVar1 == 2" identifier == number_literal) )) (compound_statement "{\n    return 2;\n  }" { (return_statement "return 2;" return number_literal ;) })) (if_statement "if (bVar1 < 3) {\n    if (bVar1 == 0) {\n      iVar2 = bfd_get_arch_size(stdoutput);\n      return (uint)(iVar2 == 0x40) * 4 + 4;\n    }\n  }\n  else {\n    if (bVar1 == 3) {\n      return 4;\n    }\n    if (bVar1 == 4) {\n      return 8;\n    }\n  }" if (parenthesized_expression "(bVar1 < 3)" ( (binary_expression "bVar1 < 3" identifier < number_literal) )) (compound_statement "{\n    if (bVar1 == 0) {\n      iVar2 = bfd_get_arch_size(stdoutput);\n      return (uint)(iVar2 == 0x40) * 4 + 4;\n    }\n  }" { (if_statement "if (bVar1 == 0) {\n      iVar2 = bfd_get_arch_size(stdoutput);\n      return (uint)(iVar2 == 0x40) * 4 + 4;\n    }" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar2 = bfd_get_arch_size(stdoutput);\n      return (uint)(iVar2 == 0x40) * 4 + 4;\n    }" { (expression_statement "iVar2 = bfd_get_arch_size(stdoutput);" (assignment_expression "iVar2 = bfd_get_arch_size(stdoutput)" identifier = (call_expression "bfd_get_arch_size(stdoutput)" identifier (argument_list "(stdoutput)" ( identifier )))) ;) (return_statement "return (uint)(iVar2 == 0x40) * 4 + 4;" return (binary_expression "(uint)(iVar2 == 0x40) * 4 + 4" (binary_expression "(uint)(iVar2 == 0x40) * 4" (call_expression "(uint)(iVar2 == 0x40)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 == 0x40)" ( (binary_expression "iVar2 == 0x40" identifier == number_literal) ))) * number_literal) + number_literal) ;) })) }) (else_clause "else {\n    if (bVar1 == 3) {\n      return 4;\n    }\n    if (bVar1 == 4) {\n      return 8;\n    }\n  }" else (compound_statement "{\n    if (bVar1 == 3) {\n      return 4;\n    }\n    if (bVar1 == 4) {\n      return 8;\n    }\n  }" { (if_statement "if (bVar1 == 3) {\n      return 4;\n    }" if (parenthesized_expression "(bVar1 == 3)" ( (binary_expression "bVar1 == 3" identifier == number_literal) )) (compound_statement "{\n      return 4;\n    }" { (return_statement "return 4;" return number_literal ;) })) (if_statement "if (bVar1 == 4) {\n      return 8;\n    }" if (parenthesized_expression "(bVar1 == 4)" ( (binary_expression "bVar1 == 4" identifier == number_literal) )) (compound_statement "{\n      return 8;\n    }" { (return_statement "return 8;" return number_literal ;) })) }))) comment (expression_statement "as_abort("../../gas/dw2gencfi.c",0xb0,"encoding_size");" (call_expression "as_abort("../../gas/dw2gencfi.c",0xb0,"encoding_size")" identifier (argument_list "("../../gas/dw2gencfi.c",0xb0,"encoding_size")" ( (string_literal ""../../gas/dw2gencfi.c"" " string_content ") , number_literal , (string_literal ""encoding_size"" " string_content ") ))) ;) })))
(translation_unit "char __regparm3 FUN_0001e2b0(byte param_1)\n\n{\n  int iVar1;\n  \n  if (param_1 == 0xff) {\n    return '\0';\n  }\n  param_1 = param_1 & 7;\n  if (param_1 == 2) {\n    return '\x02';\n  }\n  if (param_1 < 3) {\n    if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }\n  }\n  else {\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }\n                    \n  FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1);\n}\n\n" (function_definition "char __regparm3 FUN_0001e2b0(byte param_1)\n\n{\n  int iVar1;\n  \n  if (param_1 == 0xff) {\n    return '\0';\n  }\n  param_1 = param_1 & 7;\n  if (param_1 == 2) {\n    return '\x02';\n  }\n  if (param_1 < 3) {\n    if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }\n  }\n  else {\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }\n                    \n  FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1);\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0001e2b0(byte param_1)" identifier (parameter_list "(byte param_1)" ( (parameter_declaration "byte param_1" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  \n  if (param_1 == 0xff) {\n    return '\0';\n  }\n  param_1 = param_1 & 7;\n  if (param_1 == 2) {\n    return '\x02';\n  }\n  if (param_1 < 3) {\n    if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }\n  }\n  else {\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }\n                    \n  FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (if_statement "if (param_1 == 0xff) {\n    return '\0';\n  }" if (parenthesized_expression "(param_1 == 0xff)" ( (binary_expression "param_1 == 0xff" identifier == number_literal) )) (compound_statement "{\n    return '\0';\n  }" { (return_statement "return '\0';" return (char_literal "'\0'" ' escape_sequence ') ;) })) (expression_statement "param_1 = param_1 & 7;" (assignment_expression "param_1 = param_1 & 7" identifier = (binary_expression "param_1 & 7" identifier & number_literal)) ;) (if_statement "if (param_1 == 2) {\n    return '\x02';\n  }" if (parenthesized_expression "(param_1 == 2)" ( (binary_expression "param_1 == 2" identifier == number_literal) )) (compound_statement "{\n    return '\x02';\n  }" { (return_statement "return '\x02';" return (char_literal "'\x02'" ' escape_sequence ') ;) })) (if_statement "if (param_1 < 3) {\n    if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }\n  }\n  else {\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }" if (parenthesized_expression "(param_1 < 3)" ( (binary_expression "param_1 < 3" identifier < number_literal) )) (compound_statement "{\n    if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }\n  }" { (if_statement "if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }" { (expression_statement "iVar1 = bfd_get_arch_size(DAT_00072e64);" (assignment_expression "iVar1 = bfd_get_arch_size(DAT_00072e64)" identifier = (call_expression "bfd_get_arch_size(DAT_00072e64)" identifier (argument_list "(DAT_00072e64)" ( identifier )))) ;) (return_statement "return (iVar1 == 0x40) * '\x04' + '\x04';" return (binary_expression "(iVar1 == 0x40) * '\x04' + '\x04'" (binary_expression "(iVar1 == 0x40) * '\x04'" (parenthesized_expression "(iVar1 == 0x40)" ( (binary_expression "iVar1 == 0x40" identifier == number_literal) )) * (char_literal "'\x04'" ' escape_sequence ')) + (char_literal "'\x04'" ' escape_sequence ')) ;) })) }) (else_clause "else {\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }" else (compound_statement "{\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }" { (if_statement "if (param_1 == 3) {\n      return '\x04';\n    }" if (parenthesized_expression "(param_1 == 3)" ( (binary_expression "param_1 == 3" identifier == number_literal) )) (compound_statement "{\n      return '\x04';\n    }" { (return_statement "return '\x04';" return (char_literal "'\x04'" ' escape_sequence ') ;) })) (if_statement "if (param_1 == 4) {\n      return '\b';\n    }" if (parenthesized_expression "(param_1 == 4)" ( (binary_expression "param_1 == 4" identifier == number_literal) )) (compound_statement "{\n      return '\b';\n    }" { (return_statement "return '\b';" return (char_literal "'\b'" ' escape_sequence ') ;) })) }))) (expression_statement "FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1);" (call_expression "FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1)" identifier (argument_list "("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1)" ( (string_literal ""../../gas/dw2gencfi.c"" " string_content ") , number_literal , (string_literal ""encoding_size"" " string_content ") , identifier ))) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (char_literal ' escape_sequence ') ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (char_literal ' escape_sequence ') ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (return_statement return (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) * (char_literal ' escape_sequence ')) + (char_literal ' escape_sequence ')) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (char_literal ' escape_sequence ') ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (char_literal ' escape_sequence ') ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })))
(function_definition "char __regparm3 FUN_0001e2b0(byte param_1)\n\n{\n  int iVar1;\n  \n  if (param_1 == 0xff) {\n    return '\0';\n  }\n  param_1 = param_1 & 7;\n  if (param_1 == 2) {\n    return '\x02';\n  }\n  if (param_1 < 3) {\n    if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }\n  }\n  else {\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }\n                    \n  FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1);\n}" (primitive_type "char") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0001e2b0(byte param_1)" (identifier "FUN_0001e2b0") (parameter_list "(byte param_1)" (( "(") (parameter_declaration "byte param_1" (type_identifier "byte") (identifier "param_1")) () ")"))) (compound_statement "{\n  int iVar1;\n  \n  if (param_1 == 0xff) {\n    return '\0';\n  }\n  param_1 = param_1 & 7;\n  if (param_1 == 2) {\n    return '\x02';\n  }\n  if (param_1 < 3) {\n    if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }\n  }\n  else {\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }\n                    \n  FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1);\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (if_statement "if (param_1 == 0xff) {\n    return '\0';\n  }" (if "if") (parenthesized_expression "(param_1 == 0xff)" (( "(") (binary_expression "param_1 == 0xff" (identifier "param_1") (== "==") (number_literal "0xff")) () ")")) (compound_statement "{\n    return '\0';\n  }" ({ "{") (return_statement "return '\0';" (return "return") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")) (; ";")) (} "}"))) (expression_statement "param_1 = param_1 & 7;" (assignment_expression "param_1 = param_1 & 7" (identifier "param_1") (= "=") (binary_expression "param_1 & 7" (identifier "param_1") (& "&") (number_literal "7"))) (; ";")) (if_statement "if (param_1 == 2) {\n    return '\x02';\n  }" (if "if") (parenthesized_expression "(param_1 == 2)" (( "(") (binary_expression "param_1 == 2" (identifier "param_1") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    return '\x02';\n  }" ({ "{") (return_statement "return '\x02';" (return "return") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'")) (; ";")) (} "}"))) (if_statement "if (param_1 < 3) {\n    if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }\n  }\n  else {\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }" (if "if") (parenthesized_expression "(param_1 < 3)" (( "(") (binary_expression "param_1 < 3" (identifier "param_1") (< "<") (number_literal "3")) () ")")) (compound_statement "{\n    if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }\n  }" ({ "{") (if_statement "if (param_1 == 0) {\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar1 = bfd_get_arch_size(DAT_00072e64);\n      return (iVar1 == 0x40) * '\x04' + '\x04';\n    }" ({ "{") (expression_statement "iVar1 = bfd_get_arch_size(DAT_00072e64);" (assignment_expression "iVar1 = bfd_get_arch_size(DAT_00072e64)" (identifier "iVar1") (= "=") (call_expression "bfd_get_arch_size(DAT_00072e64)" (identifier "bfd_get_arch_size") (argument_list "(DAT_00072e64)" (( "(") (identifier "DAT_00072e64") () ")")))) (; ";")) (return_statement "return (iVar1 == 0x40) * '\x04' + '\x04';" (return "return") (binary_expression "(iVar1 == 0x40) * '\x04' + '\x04'" (binary_expression "(iVar1 == 0x40) * '\x04'" (parenthesized_expression "(iVar1 == 0x40)" (( "(") (binary_expression "iVar1 == 0x40" (identifier "iVar1") (== "==") (number_literal "0x40")) () ")")) (* "*") (char_literal "'\x04'" (' "'") (escape_sequence "\x04") (' "'"))) (+ "+") (char_literal "'\x04'" (' "'") (escape_sequence "\x04") (' "'"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }" (else "else") (compound_statement "{\n    if (param_1 == 3) {\n      return '\x04';\n    }\n    if (param_1 == 4) {\n      return '\b';\n    }\n  }" ({ "{") (if_statement "if (param_1 == 3) {\n      return '\x04';\n    }" (if "if") (parenthesized_expression "(param_1 == 3)" (( "(") (binary_expression "param_1 == 3" (identifier "param_1") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n      return '\x04';\n    }" ({ "{") (return_statement "return '\x04';" (return "return") (char_literal "'\x04'" (' "'") (escape_sequence "\x04") (' "'")) (; ";")) (} "}"))) (if_statement "if (param_1 == 4) {\n      return '\b';\n    }" (if "if") (parenthesized_expression "(param_1 == 4)" (( "(") (binary_expression "param_1 == 4" (identifier "param_1") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n      return '\b';\n    }" ({ "{") (return_statement "return '\b';" (return "return") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'")) (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1);" (call_expression "FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1)" (identifier "FUN_0002a860") (argument_list "("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1)" (( "(") (string_literal ""../../gas/dw2gencfi.c"" (" """) (string_content "../../gas/dw2gencfi.c") (" """)) (, ",") (number_literal "0xb0") (, ",") (string_literal ""encoding_size"" (" """) (string_content "encoding_size") (" """)) (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}")))

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

type_1 __regparm3 function_1(type_2 var_1)

{
  type_3 var_2;
  int var_4;
  
  if (var_1 == 0xff) {
    return 0;
  }
  var_2 = var_1 & 7;
  if (var_2 == 2) {
    return 2;
  }
  if (var_2 < 3) {
    if (var_2 == 0) {
      var_4 = var_3(stdoutput);
      return (type_1)(var_4 == 0x40) * 4 + 4;
    }
  }
  else {
    if (var_2 == 3) {
      return 4;
    }
    if (var_2 == 4) {
      return 8;
    }
  }
                    /* WARNING: Subroutine does not return */
  var_5("../../gas/dw2gencfi.c",0xb0,"encoding_size");
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (char_literal (escape_sequence))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (char_literal (escape_sequence))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (return_statement (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (char_literal (escape_sequence))) right: (char_literal (escape_sequence))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (char_literal (escape_sequence))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement (char_literal (escape_sequence)))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier)))))))

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

char __regparm3 MASKED(byte param_1)

{
  int iVar1;
  
  if (param_1 == 0xff) {
    return '\0';
  }
  param_1 = param_1 & 7;
  if (param_1 == 2) {
    return '\x02';
  }
  if (param_1 < 3) {
    if (param_1 == 0) {
      iVar1 = bfd_get_arch_size(DAT_00072e64);
      return (iVar1 == 0x40) * '\x04' + '\x04';
    }
  }
  else {
    if (param_1 == 3) {
      return '\x04';
    }
    if (param_1 == 4) {
      return '\b';
    }
  }
                    /* WARNING: Subroutine does not return */
  FUN_0002a860("../../gas/dw2gencfi.c",0xb0,"encoding_size",param_1);
}

