
/* WARNING: Unknown calling convention */

uint cfi_parse_reg(void)

{
  char *format;
  expressionS exp;
  
  tc_x86_parse_to_dw2regnum(&exp);
  if (((exp._24_1_ == '\x02') || (exp._24_1_ == '\x05')) && (-1 < (int)(uint)exp.X_add_number)) {
    return (uint)exp.X_add_number;
  }
  format = (char *)dcgettext(0,"bad register expression",5);
  as_bad(format);
  return 0;
}



undefined8 FUN_00110b00(void)

{
  undefined8 uVar1;
  undefined1 auStack_28 [16];
  undefined8 local_18;
  char local_10;
  
  FUN_00142e80(auStack_28);
  if (((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)) {
    return local_18;
  }
  uVar1 = dcgettext(0,"bad register expression",5);
  FUN_0011da70(uVar1);
  return 0;
}


SUB RSP,0x28
MOV RDI,RSP
CALL 0x00142e80
MOVZX EAX,byte ptr [RSP + 0x18]
CMP AL,0x2
JZ 0x00110b19
CMP AL,0x5
JNZ 0x00110b30
MOV RAX,qword ptr [RSP + 0x10]
TEST EAX,EAX
JS 0x00110b30
ADD RSP,0x28
RET
MOV EDX,0x5
LEA RSI,[0x14b8dc]
XOR EDI,EDI
CALL 0x001081c0
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0011da70
XOR EAX,EAX
ADD RSP,0x28
RET
(translation_unit "undefined8 FUN_00110b00(void)\n\n{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  undefined8 local_18;\n  char local_10;\n  \n  FUN_00142e80(auStack_28);\n  if (((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)) {\n    return local_18;\n  }\n  uVar1 = dcgettext(0,"bad register expression",5);\n  FUN_0011da70(uVar1);\n  return 0;\n}\n\n" (function_definition "undefined8 FUN_00110b00(void)\n\n{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  undefined8 local_18;\n  char local_10;\n  \n  FUN_00142e80(auStack_28);\n  if (((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)) {\n    return local_18;\n  }\n  uVar1 = dcgettext(0,"bad register expression",5);\n  FUN_0011da70(uVar1);\n  return 0;\n}" type_identifier (function_declarator "FUN_00110b00(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  undefined8 local_18;\n  char local_10;\n  \n  FUN_00142e80(auStack_28);\n  if (((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)) {\n    return local_18;\n  }\n  uVar1 = dcgettext(0,"bad register expression",5);\n  FUN_0011da70(uVar1);\n  return 0;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined1 auStack_28 [16];" type_identifier (array_declarator "auStack_28 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 local_18;" type_identifier identifier ;) (declaration "char local_10;" primitive_type identifier ;) (expression_statement "FUN_00142e80(auStack_28);" (call_expression "FUN_00142e80(auStack_28)" identifier (argument_list "(auStack_28)" ( identifier ))) ;) (if_statement "if (((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)) {\n    return local_18;\n  }" if (parenthesized_expression "(((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18))" ( (binary_expression "((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)" (parenthesized_expression "((local_10 == '\x02') || (local_10 == '\x05'))" ( (binary_expression "(local_10 == '\x02') || (local_10 == '\x05')" (parenthesized_expression "(local_10 == '\x02')" ( (binary_expression "local_10 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) || (parenthesized_expression "(local_10 == '\x05')" ( (binary_expression "local_10 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(-1 < (int)local_18)" ( (binary_expression "-1 < (int)local_18" number_literal < (cast_expression "(int)local_18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n    return local_18;\n  }" { (return_statement "return local_18;" return identifier ;) })) (expression_statement "uVar1 = dcgettext(0,"bad register expression",5);" (assignment_expression "uVar1 = dcgettext(0,"bad register expression",5)" identifier = (call_expression "dcgettext(0,"bad register expression",5)" identifier (argument_list "(0,"bad register expression",5)" ( number_literal , (string_literal ""bad register expression"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011da70(uVar1);" (call_expression "FUN_0011da70(uVar1)" identifier (argument_list "(uVar1)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nuint cfi_parse_reg(void)\n\n{\n  char *format;\n  expressionS exp;\n  \n  tc_x86_parse_to_dw2regnum(&exp);\n  if (((exp._24_1_ == '\x02') || (exp._24_1_ == '\x05')) && (-1 < (int)(uint)exp.X_add_number)) {\n    return (uint)exp.X_add_number;\n  }\n  format = (char *)dcgettext(0,"bad register expression",5);\n  as_bad(format);\n  return 0;\n}\n\n" comment (function_definition "uint cfi_parse_reg(void)\n\n{\n  char *format;\n  expressionS exp;\n  \n  tc_x86_parse_to_dw2regnum(&exp);\n  if (((exp._24_1_ == '\x02') || (exp._24_1_ == '\x05')) && (-1 < (int)(uint)exp.X_add_number)) {\n    return (uint)exp.X_add_number;\n  }\n  format = (char *)dcgettext(0,"bad register expression",5);\n  as_bad(format);\n  return 0;\n}" type_identifier (function_declarator "cfi_parse_reg(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  char *format;\n  expressionS exp;\n  \n  tc_x86_parse_to_dw2regnum(&exp);\n  if (((exp._24_1_ == '\x02') || (exp._24_1_ == '\x05')) && (-1 < (int)(uint)exp.X_add_number)) {\n    return (uint)exp.X_add_number;\n  }\n  format = (char *)dcgettext(0,"bad register expression",5);\n  as_bad(format);\n  return 0;\n}" { (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "expressionS exp;" type_identifier identifier ;) (expression_statement "tc_x86_parse_to_dw2regnum(&exp);" (call_expression "tc_x86_parse_to_dw2regnum(&exp)" identifier (argument_list "(&exp)" ( (pointer_expression "&exp" & identifier) ))) ;) (if_statement "if (((exp._24_1_ == '\x02') || (exp._24_1_ == '\x05')) && (-1 < (int)(uint)exp.X_add_number)) {\n    return (uint)exp.X_add_number;\n  }" if (parenthesized_expression "(((exp._24_1_ == '\x02') || (exp._24_1_ == '\x05')) && (-1 < (int)(uint)exp.X_add_number))" ( (binary_expression "((exp._24_1_ == '\x02') || (exp._24_1_ == '\x05')) && (-1 < (int)(uint)exp.X_add_number)" (parenthesized_expression "((exp._24_1_ == '\x02') || (exp._24_1_ == '\x05'))" ( (binary_expression "(exp._24_1_ == '\x02') || (exp._24_1_ == '\x05')" (parenthesized_expression "(exp._24_1_ == '\x02')" ( (binary_expression "exp._24_1_ == '\x02'" (field_expression "exp._24_1_" identifier . field_identifier) == (char_literal "'\x02'" ' escape_sequence ')) )) || (parenthesized_expression "(exp._24_1_ == '\x05')" ( (binary_expression "exp._24_1_ == '\x05'" (field_expression "exp._24_1_" identifier . field_identifier) == (char_literal "'\x05'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(-1 < (int)(uint)exp.X_add_number)" ( (binary_expression "-1 < (int)(uint)exp.X_add_number" number_literal < (cast_expression "(int)(uint)exp.X_add_number" ( (type_descriptor "int" primitive_type) ) (cast_expression "(uint)exp.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "exp.X_add_number" identifier . field_identifier)))) ))) )) (compound_statement "{\n    return (uint)exp.X_add_number;\n  }" { (return_statement "return (uint)exp.X_add_number;" return (cast_expression "(uint)exp.X_add_number" ( (type_descriptor "uint" type_identifier) ) (field_expression "exp.X_add_number" identifier . field_identifier)) ;) })) (expression_statement "format = (char *)dcgettext(0,"bad register expression",5);" (assignment_expression "format = (char *)dcgettext(0,"bad register expression",5)" identifier = (cast_expression "(char *)dcgettext(0,"bad register expression",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"bad register expression",5)" identifier (argument_list "(0,"bad register expression",5)" ( number_literal , (string_literal ""bad register expression"" " string_content ") , number_literal ))))) ;) (expression_statement "as_bad(format);" (call_expression "as_bad(format)" identifier (argument_list "(format)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "undefined8 FUN_00110b00(void)\n\n{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  undefined8 local_18;\n  char local_10;\n  \n  FUN_00142e80(auStack_28);\n  if (((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)) {\n    return local_18;\n  }\n  uVar1 = dcgettext(0,"bad register expression",5);\n  FUN_0011da70(uVar1);\n  return 0;\n}\n\n" (function_definition "undefined8 FUN_00110b00(void)\n\n{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  undefined8 local_18;\n  char local_10;\n  \n  FUN_00142e80(auStack_28);\n  if (((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)) {\n    return local_18;\n  }\n  uVar1 = dcgettext(0,"bad register expression",5);\n  FUN_0011da70(uVar1);\n  return 0;\n}" type_identifier (function_declarator "FUN_00110b00(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  undefined8 local_18;\n  char local_10;\n  \n  FUN_00142e80(auStack_28);\n  if (((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)) {\n    return local_18;\n  }\n  uVar1 = dcgettext(0,"bad register expression",5);\n  FUN_0011da70(uVar1);\n  return 0;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined1 auStack_28 [16];" type_identifier (array_declarator "auStack_28 [16]" identifier [ number_literal ]) ;) (declaration "undefined8 local_18;" type_identifier identifier ;) (declaration "char local_10;" primitive_type identifier ;) (expression_statement "FUN_00142e80(auStack_28);" (call_expression "FUN_00142e80(auStack_28)" identifier (argument_list "(auStack_28)" ( identifier ))) ;) (if_statement "if (((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)) {\n    return local_18;\n  }" if (parenthesized_expression "(((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18))" ( (binary_expression "((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)" (parenthesized_expression "((local_10 == '\x02') || (local_10 == '\x05'))" ( (binary_expression "(local_10 == '\x02') || (local_10 == '\x05')" (parenthesized_expression "(local_10 == '\x02')" ( (binary_expression "local_10 == '\x02'" identifier == (char_literal "'\x02'" ' escape_sequence ')) )) || (parenthesized_expression "(local_10 == '\x05')" ( (binary_expression "local_10 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(-1 < (int)local_18)" ( (binary_expression "-1 < (int)local_18" number_literal < (cast_expression "(int)local_18" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n    return local_18;\n  }" { (return_statement "return local_18;" return identifier ;) })) (expression_statement "uVar1 = dcgettext(0,"bad register expression",5);" (assignment_expression "uVar1 = dcgettext(0,"bad register expression",5)" identifier = (call_expression "dcgettext(0,"bad register expression",5)" identifier (argument_list "(0,"bad register expression",5)" ( number_literal , (string_literal ""bad register expression"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_0011da70(uVar1);" (call_expression "FUN_0011da70(uVar1)" identifier (argument_list "(uVar1)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return LIT ;) })))
(function_definition "undefined8 FUN_00110b00(void)\n\n{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  undefined8 local_18;\n  char local_10;\n  \n  FUN_00142e80(auStack_28);\n  if (((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)) {\n    return local_18;\n  }\n  uVar1 = dcgettext(0,"bad register expression",5);\n  FUN_0011da70(uVar1);\n  return 0;\n}" (type_identifier "undefined8") (function_declarator "FUN_00110b00(void)" (identifier "FUN_00110b00") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  undefined8 local_18;\n  char local_10;\n  \n  FUN_00142e80(auStack_28);\n  if (((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)) {\n    return local_18;\n  }\n  uVar1 = dcgettext(0,"bad register expression",5);\n  FUN_0011da70(uVar1);\n  return 0;\n}" ({ "{") (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (declaration "undefined1 auStack_28 [16];" (type_identifier "undefined1") (array_declarator "auStack_28 [16]" (identifier "auStack_28") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined8 local_18;" (type_identifier "undefined8") (identifier "local_18") (; ";")) (declaration "char local_10;" (primitive_type "char") (identifier "local_10") (; ";")) (expression_statement "FUN_00142e80(auStack_28);" (call_expression "FUN_00142e80(auStack_28)" (identifier "FUN_00142e80") (argument_list "(auStack_28)" (( "(") (identifier "auStack_28") () ")"))) (; ";")) (if_statement "if (((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)) {\n    return local_18;\n  }" (if "if") (parenthesized_expression "(((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18))" (( "(") (binary_expression "((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)" (parenthesized_expression "((local_10 == '\x02') || (local_10 == '\x05'))" (( "(") (binary_expression "(local_10 == '\x02') || (local_10 == '\x05')" (parenthesized_expression "(local_10 == '\x02')" (( "(") (binary_expression "local_10 == '\x02'" (identifier "local_10") (== "==") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(local_10 == '\x05')" (( "(") (binary_expression "local_10 == '\x05'" (identifier "local_10") (== "==") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(-1 < (int)local_18)" (( "(") (binary_expression "-1 < (int)local_18" (number_literal "-1") (< "<") (cast_expression "(int)local_18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_18"))) () ")"))) () ")")) (compound_statement "{\n    return local_18;\n  }" ({ "{") (return_statement "return local_18;" (return "return") (identifier "local_18") (; ";")) (} "}"))) (expression_statement "uVar1 = dcgettext(0,"bad register expression",5);" (assignment_expression "uVar1 = dcgettext(0,"bad register expression",5)" (identifier "uVar1") (= "=") (call_expression "dcgettext(0,"bad register expression",5)" (identifier "dcgettext") (argument_list "(0,"bad register expression",5)" (( "(") (number_literal "0") (, ",") (string_literal ""bad register expression"" (" """) (string_content "bad register expression") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0011da70(uVar1);" (call_expression "FUN_0011da70(uVar1)" (identifier "FUN_0011da70") (argument_list "(uVar1)" (( "(") (identifier "uVar1") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

type_1 function_1(void)

{
  char *format;
  type_2 exp;
  
  var_1(&exp);
  if (((exp._24_1_ == '\x02') || (exp._24_1_ == '\x05')) && (-1 < (int)(type_1)exp.X_add_number)) {
    return (type_1)exp.X_add_number;
  }
  format = (char *)var_2(0,"bad register expression",5);
  var_3(format);
  return 0;
}


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

undefined8 MASKED(void)

{
  undefined8 uVar1;
  undefined1 auStack_28 [16];
  undefined8 local_18;
  char local_10;
  
  FUN_00142e80(auStack_28);
  if (((local_10 == '\x02') || (local_10 == '\x05')) && (-1 < (int)local_18)) {
    return local_18;
  }
  uVar1 = dcgettext(0,"bad register expression",5);
  FUN_0011da70(uVar1);
  return 0;
}

