
_Bool __regparm2 prime2_p(uintmax_t n1,uintmax_t n0)

{
  _Bool _Var1;
  int in_EAX;
  int in_EDX;
  
  if (in_EDX != 0 || in_EAX != 0) {
    _Var1 = prime2_p(n1,n0);
    return _Var1;
  }
  if (n1._4_4_ == 0 && (uint)(1 < (uint)n1) <= (uint)-n1._4_4_) {
    _Var1 = false;
  }
  else {
    if (n1._4_4_ != 0 || (uint)-n1._4_4_ < (uint)(0x17ded78 < (uint)n1)) {
      _Var1 = prime_p(n1);
      return _Var1;
    }
    _Var1 = true;
  }
  return _Var1;
}



undefined4 __regparm2 FUN_000193a0(int param_1,int param_2,uint param_3,int param_4)

{
  undefined4 uVar1;
  
  if (param_2 != 0 || param_1 != 0) {
    uVar1 = FUN_000186c0();
    return uVar1;
  }
  if (param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4) {
    uVar1 = 0;
  }
  else {
    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {
      uVar1 = FUN_000154d0();
      return uVar1;
    }
    uVar1 = 1;
  }
  return uVar1;
}


PUSH ESI
MOV ESI,EDX
PUSH EBX
MOV EBX,dword ptr [ESP + 0xc]
MOV ECX,dword ptr [ESP + 0x10]
OR ESI,EAX
JZ 0x000193c0
POP EBX
POP ESI
JMP 0x000186c0
MOV EAX,0x1
CMP EAX,EBX
MOV EAX,ESI
SBB EAX,ECX
JNC 0x000193f0
MOV EAX,0x17ded78
CMP EAX,EBX
SBB ESI,ECX
JNC 0x000193e8
MOV EAX,EBX
MOV EDX,ECX
POP EBX
POP ESI
JMP 0x000154d0
MOV EAX,0x1
POP EBX
POP ESI
RET
XOR EAX,EAX
JMP 0x000193ed
(translation_unit "undefined4 __regparm2 FUN_000193a0(int param_1,int param_2,uint param_3,int param_4)\n\n{\n  undefined4 uVar1;\n  \n  if (param_2 != 0 || param_1 != 0) {\n    uVar1 = FUN_000186c0();\n    return uVar1;\n  }\n  if (param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4) {\n    uVar1 = 0;\n  }\n  else {\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }\n  return uVar1;\n}\n\n" (function_definition "undefined4 __regparm2 FUN_000193a0(int param_1,int param_2,uint param_3,int param_4)\n\n{\n  undefined4 uVar1;\n  \n  if (param_2 != 0 || param_1 != 0) {\n    uVar1 = FUN_000186c0();\n    return uVar1;\n  }\n  if (param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4) {\n    uVar1 = 0;\n  }\n  else {\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }\n  return uVar1;\n}" type_identifier (ERROR "__regparm2" identifier) (function_declarator "FUN_000193a0(int param_1,int param_2,uint param_3,int param_4)" identifier (parameter_list "(int param_1,int param_2,uint param_3,int param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  \n  if (param_2 != 0 || param_1 != 0) {\n    uVar1 = FUN_000186c0();\n    return uVar1;\n  }\n  if (param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4) {\n    uVar1 = 0;\n  }\n  else {\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }\n  return uVar1;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (if_statement "if (param_2 != 0 || param_1 != 0) {\n    uVar1 = FUN_000186c0();\n    return uVar1;\n  }" if (parenthesized_expression "(param_2 != 0 || param_1 != 0)" ( (binary_expression "param_2 != 0 || param_1 != 0" (binary_expression "param_2 != 0" identifier != number_literal) || (binary_expression "param_1 != 0" identifier != number_literal)) )) (compound_statement "{\n    uVar1 = FUN_000186c0();\n    return uVar1;\n  }" { (expression_statement "uVar1 = FUN_000186c0();" (assignment_expression "uVar1 = FUN_000186c0()" identifier = (call_expression "FUN_000186c0()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar1;" return identifier ;) })) (if_statement "if (param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4) {\n    uVar1 = 0;\n  }\n  else {\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }" if (parenthesized_expression "(param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4)" ( (binary_expression "param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4" (binary_expression "param_4 == 0" identifier == number_literal) && (binary_expression "(uint)(1 < param_3) <= (uint)-param_4" (call_expression "(uint)(1 < param_3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(1 < param_3)" ( (binary_expression "1 < param_3" number_literal < identifier) ))) <= (binary_expression "(uint)-param_4" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n    uVar1 = 0;\n  }" { (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }" else (compound_statement "{\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }" { (if_statement "if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }" if (parenthesized_expression "(param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3))" ( (binary_expression "param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)" (binary_expression "param_4 != 0" identifier != number_literal) || (binary_expression "(uint)-param_4 < (uint)(0x17ded78 < param_3)" (binary_expression "(uint)-param_4" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x17ded78 < param_3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x17ded78 < param_3)" ( (binary_expression "0x17ded78 < param_3" number_literal < identifier) ))))) )) (compound_statement "{\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }" { (expression_statement "uVar1 = FUN_000154d0();" (assignment_expression "uVar1 = FUN_000154d0()" identifier = (call_expression "FUN_000154d0()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar1;" return identifier ;) })) (expression_statement "uVar1 = 1;" (assignment_expression "uVar1 = 1" identifier = number_literal) ;) }))) (return_statement "return uVar1;" return identifier ;) })))
(translation_unit "_Bool __regparm2 prime2_p(uintmax_t n1,uintmax_t n0)\n\n{\n  _Bool _Var1;\n  int in_EAX;\n  int in_EDX;\n  \n  if (in_EDX != 0 || in_EAX != 0) {\n    _Var1 = prime2_p(n1,n0);\n    return _Var1;\n  }\n  if (n1._4_4_ == 0 && (uint)(1 < (uint)n1) <= (uint)-n1._4_4_) {\n    _Var1 = false;\n  }\n  else {\n    if (n1._4_4_ != 0 || (uint)-n1._4_4_ < (uint)(0x17ded78 < (uint)n1)) {\n      _Var1 = prime_p(n1);\n      return _Var1;\n    }\n    _Var1 = true;\n  }\n  return _Var1;\n}\n\n" (function_definition "_Bool __regparm2 prime2_p(uintmax_t n1,uintmax_t n0)\n\n{\n  _Bool _Var1;\n  int in_EAX;\n  int in_EDX;\n  \n  if (in_EDX != 0 || in_EAX != 0) {\n    _Var1 = prime2_p(n1,n0);\n    return _Var1;\n  }\n  if (n1._4_4_ == 0 && (uint)(1 < (uint)n1) <= (uint)-n1._4_4_) {\n    _Var1 = false;\n  }\n  else {\n    if (n1._4_4_ != 0 || (uint)-n1._4_4_ < (uint)(0x17ded78 < (uint)n1)) {\n      _Var1 = prime_p(n1);\n      return _Var1;\n    }\n    _Var1 = true;\n  }\n  return _Var1;\n}" type_identifier (ERROR "__regparm2" identifier) (function_declarator "prime2_p(uintmax_t n1,uintmax_t n0)" identifier (parameter_list "(uintmax_t n1,uintmax_t n0)" ( (parameter_declaration "uintmax_t n1" type_identifier identifier) , (parameter_declaration "uintmax_t n0" type_identifier identifier) ))) (compound_statement "{\n  _Bool _Var1;\n  int in_EAX;\n  int in_EDX;\n  \n  if (in_EDX != 0 || in_EAX != 0) {\n    _Var1 = prime2_p(n1,n0);\n    return _Var1;\n  }\n  if (n1._4_4_ == 0 && (uint)(1 < (uint)n1) <= (uint)-n1._4_4_) {\n    _Var1 = false;\n  }\n  else {\n    if (n1._4_4_ != 0 || (uint)-n1._4_4_ < (uint)(0x17ded78 < (uint)n1)) {\n      _Var1 = prime_p(n1);\n      return _Var1;\n    }\n    _Var1 = true;\n  }\n  return _Var1;\n}" { (declaration "_Bool _Var1;" type_identifier identifier ;) (declaration "int in_EAX;" primitive_type identifier ;) (declaration "int in_EDX;" primitive_type identifier ;) (if_statement "if (in_EDX != 0 || in_EAX != 0) {\n    _Var1 = prime2_p(n1,n0);\n    return _Var1;\n  }" if (parenthesized_expression "(in_EDX != 0 || in_EAX != 0)" ( (binary_expression "in_EDX != 0 || in_EAX != 0" (binary_expression "in_EDX != 0" identifier != number_literal) || (binary_expression "in_EAX != 0" identifier != number_literal)) )) (compound_statement "{\n    _Var1 = prime2_p(n1,n0);\n    return _Var1;\n  }" { (expression_statement "_Var1 = prime2_p(n1,n0);" (assignment_expression "_Var1 = prime2_p(n1,n0)" identifier = (call_expression "prime2_p(n1,n0)" identifier (argument_list "(n1,n0)" ( identifier , identifier )))) ;) (return_statement "return _Var1;" return identifier ;) })) (if_statement "if (n1._4_4_ == 0 && (uint)(1 < (uint)n1) <= (uint)-n1._4_4_) {\n    _Var1 = false;\n  }\n  else {\n    if (n1._4_4_ != 0 || (uint)-n1._4_4_ < (uint)(0x17ded78 < (uint)n1)) {\n      _Var1 = prime_p(n1);\n      return _Var1;\n    }\n    _Var1 = true;\n  }" if (parenthesized_expression "(n1._4_4_ == 0 && (uint)(1 < (uint)n1) <= (uint)-n1._4_4_)" ( (binary_expression "n1._4_4_ == 0 && (uint)(1 < (uint)n1) <= (uint)-n1._4_4_" (binary_expression "n1._4_4_ == 0" (field_expression "n1._4_4_" identifier . field_identifier) == number_literal) && (binary_expression "(uint)(1 < (uint)n1) <= (uint)-n1._4_4_" (call_expression "(uint)(1 < (uint)n1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(1 < (uint)n1)" ( (binary_expression "1 < (uint)n1" number_literal < (cast_expression "(uint)n1" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) <= (binary_expression "(uint)-n1._4_4_" (parenthesized_expression "(uint)" ( identifier )) - (field_expression "n1._4_4_" identifier . field_identifier)))) )) (compound_statement "{\n    _Var1 = false;\n  }" { (expression_statement "_Var1 = false;" (assignment_expression "_Var1 = false" identifier = false) ;) }) (else_clause "else {\n    if (n1._4_4_ != 0 || (uint)-n1._4_4_ < (uint)(0x17ded78 < (uint)n1)) {\n      _Var1 = prime_p(n1);\n      return _Var1;\n    }\n    _Var1 = true;\n  }" else (compound_statement "{\n    if (n1._4_4_ != 0 || (uint)-n1._4_4_ < (uint)(0x17ded78 < (uint)n1)) {\n      _Var1 = prime_p(n1);\n      return _Var1;\n    }\n    _Var1 = true;\n  }" { (if_statement "if (n1._4_4_ != 0 || (uint)-n1._4_4_ < (uint)(0x17ded78 < (uint)n1)) {\n      _Var1 = prime_p(n1);\n      return _Var1;\n    }" if (parenthesized_expression "(n1._4_4_ != 0 || (uint)-n1._4_4_ < (uint)(0x17ded78 < (uint)n1))" ( (binary_expression "n1._4_4_ != 0 || (uint)-n1._4_4_ < (uint)(0x17ded78 < (uint)n1)" (binary_expression "n1._4_4_ != 0" (field_expression "n1._4_4_" identifier . field_identifier) != number_literal) || (binary_expression "(uint)-n1._4_4_ < (uint)(0x17ded78 < (uint)n1)" (binary_expression "(uint)-n1._4_4_" (parenthesized_expression "(uint)" ( identifier )) - (field_expression "n1._4_4_" identifier . field_identifier)) < (call_expression "(uint)(0x17ded78 < (uint)n1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x17ded78 < (uint)n1)" ( (binary_expression "0x17ded78 < (uint)n1" number_literal < (cast_expression "(uint)n1" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) (compound_statement "{\n      _Var1 = prime_p(n1);\n      return _Var1;\n    }" { (expression_statement "_Var1 = prime_p(n1);" (assignment_expression "_Var1 = prime_p(n1)" identifier = (call_expression "prime_p(n1)" identifier (argument_list "(n1)" ( identifier )))) ;) (return_statement "return _Var1;" return identifier ;) })) (expression_statement "_Var1 = true;" (assignment_expression "_Var1 = true" identifier = true) ;) }))) (return_statement "return _Var1;" return identifier ;) })))
(translation_unit "undefined4 __regparm2 FUN_000193a0(int param_1,int param_2,uint param_3,int param_4)\n\n{\n  undefined4 uVar1;\n  \n  if (param_2 != 0 || param_1 != 0) {\n    uVar1 = FUN_000186c0();\n    return uVar1;\n  }\n  if (param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4) {\n    uVar1 = 0;\n  }\n  else {\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }\n  return uVar1;\n}\n\n" (function_definition "undefined4 __regparm2 FUN_000193a0(int param_1,int param_2,uint param_3,int param_4)\n\n{\n  undefined4 uVar1;\n  \n  if (param_2 != 0 || param_1 != 0) {\n    uVar1 = FUN_000186c0();\n    return uVar1;\n  }\n  if (param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4) {\n    uVar1 = 0;\n  }\n  else {\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }\n  return uVar1;\n}" type_identifier (ERROR "__regparm2" identifier) (function_declarator "FUN_000193a0(int param_1,int param_2,uint param_3,int param_4)" identifier (parameter_list "(int param_1,int param_2,uint param_3,int param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  \n  if (param_2 != 0 || param_1 != 0) {\n    uVar1 = FUN_000186c0();\n    return uVar1;\n  }\n  if (param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4) {\n    uVar1 = 0;\n  }\n  else {\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }\n  return uVar1;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (if_statement "if (param_2 != 0 || param_1 != 0) {\n    uVar1 = FUN_000186c0();\n    return uVar1;\n  }" if (parenthesized_expression "(param_2 != 0 || param_1 != 0)" ( (binary_expression "param_2 != 0 || param_1 != 0" (binary_expression "param_2 != 0" identifier != number_literal) || (binary_expression "param_1 != 0" identifier != number_literal)) )) (compound_statement "{\n    uVar1 = FUN_000186c0();\n    return uVar1;\n  }" { (expression_statement "uVar1 = FUN_000186c0();" (assignment_expression "uVar1 = FUN_000186c0()" identifier = (call_expression "FUN_000186c0()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar1;" return identifier ;) })) (if_statement "if (param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4) {\n    uVar1 = 0;\n  }\n  else {\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }" if (parenthesized_expression "(param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4)" ( (binary_expression "param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4" (binary_expression "param_4 == 0" identifier == number_literal) && (binary_expression "(uint)(1 < param_3) <= (uint)-param_4" (call_expression "(uint)(1 < param_3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(1 < param_3)" ( (binary_expression "1 < param_3" number_literal < identifier) ))) <= (binary_expression "(uint)-param_4" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n    uVar1 = 0;\n  }" { (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }" else (compound_statement "{\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }" { (if_statement "if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }" if (parenthesized_expression "(param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3))" ( (binary_expression "param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)" (binary_expression "param_4 != 0" identifier != number_literal) || (binary_expression "(uint)-param_4 < (uint)(0x17ded78 < param_3)" (binary_expression "(uint)-param_4" (parenthesized_expression "(uint)" ( identifier )) - identifier) < (call_expression "(uint)(0x17ded78 < param_3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x17ded78 < param_3)" ( (binary_expression "0x17ded78 < param_3" number_literal < identifier) ))))) )) (compound_statement "{\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }" { (expression_statement "uVar1 = FUN_000154d0();" (assignment_expression "uVar1 = FUN_000154d0()" identifier = (call_expression "FUN_000154d0()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar1;" return identifier ;) })) (expression_statement "uVar1 = 1;" (assignment_expression "uVar1 = 1" identifier = number_literal) ;) }))) (return_statement "return uVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression (binary_expression (parenthesized_expression ( IDENT )) - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined4 __regparm2 FUN_000193a0(int param_1,int param_2,uint param_3,int param_4)\n\n{\n  undefined4 uVar1;\n  \n  if (param_2 != 0 || param_1 != 0) {\n    uVar1 = FUN_000186c0();\n    return uVar1;\n  }\n  if (param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4) {\n    uVar1 = 0;\n  }\n  else {\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }\n  return uVar1;\n}" (type_identifier "undefined4") (ERROR "__regparm2" (identifier "__regparm2")) (function_declarator "FUN_000193a0(int param_1,int param_2,uint param_3,int param_4)" (identifier "FUN_000193a0") (parameter_list "(int param_1,int param_2,uint param_3,int param_4)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  \n  if (param_2 != 0 || param_1 != 0) {\n    uVar1 = FUN_000186c0();\n    return uVar1;\n  }\n  if (param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4) {\n    uVar1 = 0;\n  }\n  else {\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }\n  return uVar1;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (if_statement "if (param_2 != 0 || param_1 != 0) {\n    uVar1 = FUN_000186c0();\n    return uVar1;\n  }" (if "if") (parenthesized_expression "(param_2 != 0 || param_1 != 0)" (( "(") (binary_expression "param_2 != 0 || param_1 != 0" (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n    uVar1 = FUN_000186c0();\n    return uVar1;\n  }" ({ "{") (expression_statement "uVar1 = FUN_000186c0();" (assignment_expression "uVar1 = FUN_000186c0()" (identifier "uVar1") (= "=") (call_expression "FUN_000186c0()" (identifier "FUN_000186c0") (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}"))) (if_statement "if (param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4) {\n    uVar1 = 0;\n  }\n  else {\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }" (if "if") (parenthesized_expression "(param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4)" (( "(") (binary_expression "param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4" (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(1 < param_3) <= (uint)-param_4" (call_expression "(uint)(1 < param_3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(1 < param_3)" (( "(") (binary_expression "1 < param_3" (number_literal "1") (< "<") (identifier "param_3")) () ")"))) (<= "<=") (binary_expression "(uint)-param_4" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "param_4")))) () ")")) (compound_statement "{\n    uVar1 = 0;\n  }" ({ "{") (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" (identifier "uVar1") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }" (else "else") (compound_statement "{\n    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }\n    uVar1 = 1;\n  }" ({ "{") (if_statement "if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }" (if "if") (parenthesized_expression "(param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3))" (( "(") (binary_expression "param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)" (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(uint)-param_4 < (uint)(0x17ded78 < param_3)" (binary_expression "(uint)-param_4" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "param_4")) (< "<") (call_expression "(uint)(0x17ded78 < param_3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x17ded78 < param_3)" (( "(") (binary_expression "0x17ded78 < param_3" (number_literal "0x17ded78") (< "<") (identifier "param_3")) () ")"))))) () ")")) (compound_statement "{\n      uVar1 = FUN_000154d0();\n      return uVar1;\n    }" ({ "{") (expression_statement "uVar1 = FUN_000154d0();" (assignment_expression "uVar1 = FUN_000154d0()" (identifier "uVar1") (= "=") (call_expression "FUN_000154d0()" (identifier "FUN_000154d0") (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}"))) (expression_statement "uVar1 = 1;" (assignment_expression "uVar1 = 1" (identifier "uVar1") (= "=") (number_literal "1")) (; ";")) (} "}")))) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}")))

type_1 __regparm2 function_1(type_2 n1,type_2 n0)

{
  type_1 _Var1;
  int var_2;
  int var_1;
  
  if (var_1 != 0 || var_2 != 0) {
    _Var1 = function_1(n1,n0);
    return _Var1;
  }
  if (n1._4_4_ == 0 && (type_3)(1 < (type_3)n1) <= (type_3)-n1._4_4_) {
    _Var1 = false;
  }
  else {
    if (n1._4_4_ != 0 || (type_3)-n1._4_4_ < (type_3)(0x17ded78 < (type_3)n1)) {
      _Var1 = var_3(n1);
      return _Var1;
    }
    _Var1 = true;
  }
  return _Var1;
}


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

undefined4 __regparm2 MASKED(int param_1,int param_2,uint param_3,int param_4)

{
  undefined4 uVar1;
  
  if (param_2 != 0 || param_1 != 0) {
    uVar1 = FUN_000186c0();
    return uVar1;
  }
  if (param_4 == 0 && (uint)(1 < param_3) <= (uint)-param_4) {
    uVar1 = 0;
  }
  else {
    if (param_4 != 0 || (uint)-param_4 < (uint)(0x17ded78 < param_3)) {
      uVar1 = FUN_000154d0();
      return uVar1;
    }
    uVar1 = 1;
  }
  return uVar1;
}

