
void set_output_format(char *f)

{
  ulong uVar1;
  char *format;
  
  if ((byte)(*f + 0xbeU) < 0x32) {
    uVar1 = 1L << (*f + 0xbeU & 0x3f);
    if ((uVar1 & 0x100000001) != 0) {
      ::format = formats;
      return;
    }
    if ((uVar1 & 0x2000000020000) != 0) {
      ::format = formats + 1;
      return;
    }
    if ((uVar1 & 0x400000004000) != 0) {
      ::format = formats + 2;
      return;
    }
  }
  format = (char *)dcgettext(0,"%s: invalid output format",5);
                    /* WARNING: Subroutine does not return */
  fatal(format,f);
}



void FUN_00105060(char *param_1)

{
  ulong uVar1;
  undefined8 uVar2;
  
  if ((byte)(*param_1 + 0xbeU) < 0x32) {
    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);
    if ((uVar1 & 0x100000001) != 0) {
      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;
      return;
    }
    if ((uVar1 & 0x2000000020000) != 0) {
      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;
      return;
    }
    if ((uVar1 & 0x400000004000) != 0) {
      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;
      return;
    }
  }
  uVar2 = dcgettext(0,"%s: invalid output format",5);
                    /* WARNING: Subroutine does not return */
  FUN_00106110(uVar2,param_1);
}


MOVZX EAX,byte ptr [RDI]
LEA ECX,[RAX + -0x42]
CMP CL,0x31
JA 0x001050cf
MOV RDX,0x100000001
MOV EAX,0x1
SHL RAX,CL
TEST RAX,RDX
JNZ 0x001050b0
MOV RDX,0x2000000020000
TEST RAX,RDX
JNZ 0x001050c0
MOV RDX,0x400000004000
TEST RAX,RDX
JZ 0x001050cf
LEA RAX,[0x10c6d0]
MOV qword ptr [0x0010c660],RAX
RET
LEA RAX,[0x10c680]
MOV qword ptr [0x0010c660],RAX
RET
LEA RAX,[0x10c6a8]
MOV qword ptr [0x0010c660],RAX
RET
PUSH RBX
LEA RSI,[0x10806c]
MOV RBX,RDI
MOV EDX,0x5
XOR EDI,EDI
CALL 0x001031a0
MOV RSI,RBX
MOV RDI,RAX
XOR EAX,EAX
CALL 0x00106110
(translation_unit "void FUN_00105060(char *param_1)\n\n{\n  ulong uVar1;\n  undefined8 uVar2;\n  \n  if ((byte)(*param_1 + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }\n  }\n  uVar2 = dcgettext(0,"%s: invalid output format",5);\n                    /* WARNING: Subroutine does not return */\n  FUN_00106110(uVar2,param_1);\n}\n\n" (function_definition "void FUN_00105060(char *param_1)\n\n{\n  ulong uVar1;\n  undefined8 uVar2;\n  \n  if ((byte)(*param_1 + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }\n  }\n  uVar2 = dcgettext(0,"%s: invalid output format",5);\n                    /* WARNING: Subroutine does not return */\n  FUN_00106110(uVar2,param_1);\n}" primitive_type (function_declarator "FUN_00105060(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  ulong uVar1;\n  undefined8 uVar2;\n  \n  if ((byte)(*param_1 + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }\n  }\n  uVar2 = dcgettext(0,"%s: invalid output format",5);\n                    /* WARNING: Subroutine does not return */\n  FUN_00106110(uVar2,param_1);\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (if_statement "if ((byte)(*param_1 + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }\n  }" if (parenthesized_expression "((byte)(*param_1 + 0xbeU) < 0x32)" ( (binary_expression "(byte)(*param_1 + 0xbeU) < 0x32" (call_expression "(byte)(*param_1 + 0xbeU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*param_1 + 0xbeU)" ( (binary_expression "*param_1 + 0xbeU" (pointer_expression "*param_1" * identifier) + number_literal) ))) < number_literal) )) (compound_statement "{\n    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }\n  }" { (expression_statement "uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);" (assignment_expression "uVar1 = 1L << (*param_1 + 0xbeU & 0x3f)" identifier = (binary_expression "1L << (*param_1 + 0xbeU & 0x3f)" number_literal << (parenthesized_expression "(*param_1 + 0xbeU & 0x3f)" ( (binary_expression "*param_1 + 0xbeU & 0x3f" (binary_expression "*param_1 + 0xbeU" (pointer_expression "*param_1" * identifier) + number_literal) & number_literal) )))) ;) (if_statement "if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }" if (parenthesized_expression "((uVar1 & 0x100000001) != 0)" ( (binary_expression "(uVar1 & 0x100000001) != 0" (parenthesized_expression "(uVar1 & 0x100000001)" ( (binary_expression "uVar1 & 0x100000001" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }" { (expression_statement "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;" (assignment_expression "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680" identifier = (cast_expression "(undefined *)&PTR_FUN_0010c680" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&PTR_FUN_0010c680" & identifier))) ;) (return_statement "return;" return ;) })) (if_statement "if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }" if (parenthesized_expression "((uVar1 & 0x2000000020000) != 0)" ( (binary_expression "(uVar1 & 0x2000000020000) != 0" (parenthesized_expression "(uVar1 & 0x2000000020000)" ( (binary_expression "uVar1 & 0x2000000020000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }" { (expression_statement "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;" (assignment_expression "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8" identifier = (cast_expression "(undefined *)&PTR_FUN_0010c6a8" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&PTR_FUN_0010c6a8" & identifier))) ;) (return_statement "return;" return ;) })) (if_statement "if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }" if (parenthesized_expression "((uVar1 & 0x400000004000) != 0)" ( (binary_expression "(uVar1 & 0x400000004000) != 0" (parenthesized_expression "(uVar1 & 0x400000004000)" ( (binary_expression "uVar1 & 0x400000004000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }" { (expression_statement "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;" (assignment_expression "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0" identifier = (cast_expression "(undefined *)&PTR_FUN_0010c6d0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&PTR_FUN_0010c6d0" & identifier))) ;) (return_statement "return;" return ;) })) })) (expression_statement "uVar2 = dcgettext(0,"%s: invalid output format",5);" (assignment_expression "uVar2 = dcgettext(0,"%s: invalid output format",5)" identifier = (call_expression "dcgettext(0,"%s: invalid output format",5)" identifier (argument_list "(0,"%s: invalid output format",5)" ( number_literal , (string_literal ""%s: invalid output format"" " string_content ") , number_literal )))) ;) comment (expression_statement "FUN_00106110(uVar2,param_1);" (call_expression "FUN_00106110(uVar2,param_1)" identifier (argument_list "(uVar2,param_1)" ( identifier , identifier ))) ;) })))
(translation_unit "void set_output_format(char *f)\n\n{\n  ulong uVar1;\n  char *format;\n  \n  if ((byte)(*f + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*f + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      ::format = formats;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      ::format = formats + 1;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      ::format = formats + 2;\n      return;\n    }\n  }\n  format = (char *)dcgettext(0,"%s: invalid output format",5);\n                    /* WARNING: Subroutine does not return */\n  fatal(format,f);\n}\n\n" (function_definition "void set_output_format(char *f)\n\n{\n  ulong uVar1;\n  char *format;\n  \n  if ((byte)(*f + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*f + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      ::format = formats;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      ::format = formats + 1;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      ::format = formats + 2;\n      return;\n    }\n  }\n  format = (char *)dcgettext(0,"%s: invalid output format",5);\n                    /* WARNING: Subroutine does not return */\n  fatal(format,f);\n}" primitive_type (function_declarator "set_output_format(char *f)" identifier (parameter_list "(char *f)" ( (parameter_declaration "char *f" primitive_type (pointer_declarator "*f" * identifier)) ))) (compound_statement "{\n  ulong uVar1;\n  char *format;\n  \n  if ((byte)(*f + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*f + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      ::format = formats;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      ::format = formats + 1;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      ::format = formats + 2;\n      return;\n    }\n  }\n  format = (char *)dcgettext(0,"%s: invalid output format",5);\n                    /* WARNING: Subroutine does not return */\n  fatal(format,f);\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (if_statement "if ((byte)(*f + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*f + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      ::format = formats;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      ::format = formats + 1;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      ::format = formats + 2;\n      return;\n    }\n  }" if (parenthesized_expression "((byte)(*f + 0xbeU) < 0x32)" ( (binary_expression "(byte)(*f + 0xbeU) < 0x32" (call_expression "(byte)(*f + 0xbeU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*f + 0xbeU)" ( (binary_expression "*f + 0xbeU" (pointer_expression "*f" * identifier) + number_literal) ))) < number_literal) )) (compound_statement "{\n    uVar1 = 1L << (*f + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      ::format = formats;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      ::format = formats + 1;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      ::format = formats + 2;\n      return;\n    }\n  }" { (expression_statement "uVar1 = 1L << (*f + 0xbeU & 0x3f);" (assignment_expression "uVar1 = 1L << (*f + 0xbeU & 0x3f)" identifier = (binary_expression "1L << (*f + 0xbeU & 0x3f)" number_literal << (parenthesized_expression "(*f + 0xbeU & 0x3f)" ( (binary_expression "*f + 0xbeU & 0x3f" (binary_expression "*f + 0xbeU" (pointer_expression "*f" * identifier) + number_literal) & number_literal) )))) ;) (if_statement "if ((uVar1 & 0x100000001) != 0) {\n      ::format = formats;\n      return;\n    }" if (parenthesized_expression "((uVar1 & 0x100000001) != 0)" ( (binary_expression "(uVar1 & 0x100000001) != 0" (parenthesized_expression "(uVar1 & 0x100000001)" ( (binary_expression "uVar1 & 0x100000001" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      ::format = formats;\n      return;\n    }" { (ERROR "::" : :) (expression_statement "format = formats;" (assignment_expression "format = formats" identifier = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if ((uVar1 & 0x2000000020000) != 0) {\n      ::format = formats + 1;\n      return;\n    }" if (parenthesized_expression "((uVar1 & 0x2000000020000) != 0)" ( (binary_expression "(uVar1 & 0x2000000020000) != 0" (parenthesized_expression "(uVar1 & 0x2000000020000)" ( (binary_expression "uVar1 & 0x2000000020000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      ::format = formats + 1;\n      return;\n    }" { (ERROR "::" : :) (expression_statement "format = formats + 1;" (assignment_expression "format = formats + 1" identifier = (binary_expression "formats + 1" identifier + number_literal)) ;) (return_statement "return;" return ;) })) (if_statement "if ((uVar1 & 0x400000004000) != 0) {\n      ::format = formats + 2;\n      return;\n    }" if (parenthesized_expression "((uVar1 & 0x400000004000) != 0)" ( (binary_expression "(uVar1 & 0x400000004000) != 0" (parenthesized_expression "(uVar1 & 0x400000004000)" ( (binary_expression "uVar1 & 0x400000004000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      ::format = formats + 2;\n      return;\n    }" { (ERROR "::" : :) (expression_statement "format = formats + 2;" (assignment_expression "format = formats + 2" identifier = (binary_expression "formats + 2" identifier + number_literal)) ;) (return_statement "return;" return ;) })) })) (expression_statement "format = (char *)dcgettext(0,"%s: invalid output format",5);" (assignment_expression "format = (char *)dcgettext(0,"%s: invalid output format",5)" identifier = (cast_expression "(char *)dcgettext(0,"%s: invalid output format",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%s: invalid output format",5)" identifier (argument_list "(0,"%s: invalid output format",5)" ( number_literal , (string_literal ""%s: invalid output format"" " string_content ") , number_literal ))))) ;) comment (expression_statement "fatal(format,f);" (call_expression "fatal(format,f)" identifier (argument_list "(format,f)" ( identifier , identifier ))) ;) })))
(translation_unit "void FUN_00105060(char *param_1)\n\n{\n  ulong uVar1;\n  undefined8 uVar2;\n  \n  if ((byte)(*param_1 + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }\n  }\n  uVar2 = dcgettext(0,"%s: invalid output format",5);\n                    \n  FUN_00106110(uVar2,param_1);\n}\n\n" (function_definition "void FUN_00105060(char *param_1)\n\n{\n  ulong uVar1;\n  undefined8 uVar2;\n  \n  if ((byte)(*param_1 + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }\n  }\n  uVar2 = dcgettext(0,"%s: invalid output format",5);\n                    \n  FUN_00106110(uVar2,param_1);\n}" primitive_type (function_declarator "FUN_00105060(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  ulong uVar1;\n  undefined8 uVar2;\n  \n  if ((byte)(*param_1 + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }\n  }\n  uVar2 = dcgettext(0,"%s: invalid output format",5);\n                    \n  FUN_00106110(uVar2,param_1);\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (if_statement "if ((byte)(*param_1 + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }\n  }" if (parenthesized_expression "((byte)(*param_1 + 0xbeU) < 0x32)" ( (binary_expression "(byte)(*param_1 + 0xbeU) < 0x32" (call_expression "(byte)(*param_1 + 0xbeU)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(*param_1 + 0xbeU)" ( (binary_expression "*param_1 + 0xbeU" (pointer_expression "*param_1" * identifier) + number_literal) ))) < number_literal) )) (compound_statement "{\n    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }\n  }" { (expression_statement "uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);" (assignment_expression "uVar1 = 1L << (*param_1 + 0xbeU & 0x3f)" identifier = (binary_expression "1L << (*param_1 + 0xbeU & 0x3f)" number_literal << (parenthesized_expression "(*param_1 + 0xbeU & 0x3f)" ( (binary_expression "*param_1 + 0xbeU & 0x3f" (binary_expression "*param_1 + 0xbeU" (pointer_expression "*param_1" * identifier) + number_literal) & number_literal) )))) ;) (if_statement "if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }" if (parenthesized_expression "((uVar1 & 0x100000001) != 0)" ( (binary_expression "(uVar1 & 0x100000001) != 0" (parenthesized_expression "(uVar1 & 0x100000001)" ( (binary_expression "uVar1 & 0x100000001" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }" { (expression_statement "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;" (assignment_expression "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680" identifier = (cast_expression "(undefined *)&PTR_FUN_0010c680" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&PTR_FUN_0010c680" & identifier))) ;) (return_statement "return;" return ;) })) (if_statement "if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }" if (parenthesized_expression "((uVar1 & 0x2000000020000) != 0)" ( (binary_expression "(uVar1 & 0x2000000020000) != 0" (parenthesized_expression "(uVar1 & 0x2000000020000)" ( (binary_expression "uVar1 & 0x2000000020000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }" { (expression_statement "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;" (assignment_expression "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8" identifier = (cast_expression "(undefined *)&PTR_FUN_0010c6a8" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&PTR_FUN_0010c6a8" & identifier))) ;) (return_statement "return;" return ;) })) (if_statement "if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }" if (parenthesized_expression "((uVar1 & 0x400000004000) != 0)" ( (binary_expression "(uVar1 & 0x400000004000) != 0" (parenthesized_expression "(uVar1 & 0x400000004000)" ( (binary_expression "uVar1 & 0x400000004000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }" { (expression_statement "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;" (assignment_expression "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0" identifier = (cast_expression "(undefined *)&PTR_FUN_0010c6d0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&PTR_FUN_0010c6d0" & identifier))) ;) (return_statement "return;" return ;) })) })) (expression_statement "uVar2 = dcgettext(0,"%s: invalid output format",5);" (assignment_expression "uVar2 = dcgettext(0,"%s: invalid output format",5)" identifier = (call_expression "dcgettext(0,"%s: invalid output format",5)" identifier (argument_list "(0,"%s: invalid output format",5)" ( number_literal , (string_literal ""%s: invalid output format"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00106110(uVar2,param_1);" (call_expression "FUN_00106110(uVar2,param_1)" identifier (argument_list "(uVar2,param_1)" ( identifier , identifier ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * IDENT) + LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (return_statement return ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })))
(function_definition "void FUN_00105060(char *param_1)\n\n{\n  ulong uVar1;\n  undefined8 uVar2;\n  \n  if ((byte)(*param_1 + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }\n  }\n  uVar2 = dcgettext(0,"%s: invalid output format",5);\n                    \n  FUN_00106110(uVar2,param_1);\n}" (primitive_type "void") (function_declarator "FUN_00105060(char *param_1)" (identifier "FUN_00105060") (parameter_list "(char *param_1)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  ulong uVar1;\n  undefined8 uVar2;\n  \n  if ((byte)(*param_1 + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }\n  }\n  uVar2 = dcgettext(0,"%s: invalid output format",5);\n                    \n  FUN_00106110(uVar2,param_1);\n}" ({ "{") (declaration "ulong uVar1;" (type_identifier "ulong") (identifier "uVar1") (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (if_statement "if ((byte)(*param_1 + 0xbeU) < 0x32) {\n    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }\n  }" (if "if") (parenthesized_expression "((byte)(*param_1 + 0xbeU) < 0x32)" (( "(") (binary_expression "(byte)(*param_1 + 0xbeU) < 0x32" (call_expression "(byte)(*param_1 + 0xbeU)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(*param_1 + 0xbeU)" (( "(") (binary_expression "*param_1 + 0xbeU" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0xbeU")) () ")"))) (< "<") (number_literal "0x32")) () ")")) (compound_statement "{\n    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);\n    if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }\n    if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }\n    if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }\n  }" ({ "{") (expression_statement "uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);" (assignment_expression "uVar1 = 1L << (*param_1 + 0xbeU & 0x3f)" (identifier "uVar1") (= "=") (binary_expression "1L << (*param_1 + 0xbeU & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "(*param_1 + 0xbeU & 0x3f)" (( "(") (binary_expression "*param_1 + 0xbeU & 0x3f" (binary_expression "*param_1 + 0xbeU" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0xbeU")) (& "&") (number_literal "0x3f")) () ")")))) (; ";")) (if_statement "if ((uVar1 & 0x100000001) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }" (if "if") (parenthesized_expression "((uVar1 & 0x100000001) != 0)" (( "(") (binary_expression "(uVar1 & 0x100000001) != 0" (parenthesized_expression "(uVar1 & 0x100000001)" (( "(") (binary_expression "uVar1 & 0x100000001" (identifier "uVar1") (& "&") (number_literal "0x100000001")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;\n      return;\n    }" ({ "{") (expression_statement "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;" (assignment_expression "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680" (identifier "PTR_PTR_FUN_0010c660") (= "=") (cast_expression "(undefined *)&PTR_FUN_0010c680" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&PTR_FUN_0010c680" (& "&") (identifier "PTR_FUN_0010c680")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if ((uVar1 & 0x2000000020000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }" (if "if") (parenthesized_expression "((uVar1 & 0x2000000020000) != 0)" (( "(") (binary_expression "(uVar1 & 0x2000000020000) != 0" (parenthesized_expression "(uVar1 & 0x2000000020000)" (( "(") (binary_expression "uVar1 & 0x2000000020000" (identifier "uVar1") (& "&") (number_literal "0x2000000020000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;\n      return;\n    }" ({ "{") (expression_statement "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;" (assignment_expression "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8" (identifier "PTR_PTR_FUN_0010c660") (= "=") (cast_expression "(undefined *)&PTR_FUN_0010c6a8" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&PTR_FUN_0010c6a8" (& "&") (identifier "PTR_FUN_0010c6a8")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if ((uVar1 & 0x400000004000) != 0) {\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }" (if "if") (parenthesized_expression "((uVar1 & 0x400000004000) != 0)" (( "(") (binary_expression "(uVar1 & 0x400000004000) != 0" (parenthesized_expression "(uVar1 & 0x400000004000)" (( "(") (binary_expression "uVar1 & 0x400000004000" (identifier "uVar1") (& "&") (number_literal "0x400000004000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;\n      return;\n    }" ({ "{") (expression_statement "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;" (assignment_expression "PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0" (identifier "PTR_PTR_FUN_0010c660") (= "=") (cast_expression "(undefined *)&PTR_FUN_0010c6d0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&PTR_FUN_0010c6d0" (& "&") (identifier "PTR_FUN_0010c6d0")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar2 = dcgettext(0,"%s: invalid output format",5);" (assignment_expression "uVar2 = dcgettext(0,"%s: invalid output format",5)" (identifier "uVar2") (= "=") (call_expression "dcgettext(0,"%s: invalid output format",5)" (identifier "dcgettext") (argument_list "(0,"%s: invalid output format",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%s: invalid output format"" (" """) (string_content "%s: invalid output format") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00106110(uVar2,param_1);" (call_expression "FUN_00106110(uVar2,param_1)" (identifier "FUN_00106110") (argument_list "(uVar2,param_1)" (( "(") (identifier "uVar2") (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}")))

void function_1(char *f)

{
  type_1 var_1;
  char *format;
  
  if ((byte)(*f + 0xbeU) < 0x32) {
    var_1 = 1L << (*f + 0xbeU & 0x3f);
    if ((var_1 & 0x100000001) != 0) {
      ::format = var_2;
      return;
    }
    if ((var_1 & 0x2000000020000) != 0) {
      ::format = var_2 + 1;
      return;
    }
    if ((var_1 & 0x400000004000) != 0) {
      ::format = var_2 + 2;
      return;
    }
  }
  format = (char *)var_3(0,"%s: invalid output format",5);
                    /* WARNING: Subroutine does not return */
  var_4(format,f);
}


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

void MASKED(char *param_1)

{
  ulong uVar1;
  undefined8 uVar2;
  
  if ((byte)(*param_1 + 0xbeU) < 0x32) {
    uVar1 = 1L << (*param_1 + 0xbeU & 0x3f);
    if ((uVar1 & 0x100000001) != 0) {
      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c680;
      return;
    }
    if ((uVar1 & 0x2000000020000) != 0) {
      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6a8;
      return;
    }
    if ((uVar1 & 0x400000004000) != 0) {
      PTR_PTR_FUN_0010c660 = (undefined *)&PTR_FUN_0010c6d0;
      return;
    }
  }
  uVar2 = dcgettext(0,"%s: invalid output format",5);
                    /* WARNING: Subroutine does not return */
  FUN_00106110(uVar2,param_1);
}

