
int invmod(void *a,void *b,void *c)

{
  if (a == (void *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);
  }
  if (b != (void *)0x0) {
    if (c != (void *)0x0) {
      __gmpz_invert(c,a,b);
      return 0;
    }
                    /* WARNING: Subroutine does not return */
    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);
  }
                    /* WARNING: Subroutine does not return */
  crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);
}



undefined8 FUN_00160260(long param_1,long param_2,long param_3)

{
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);
  }
  if (param_2 != 0) {
    if (param_3 != 0) {
      __gmpz_invert(param_3,param_1,param_2);
      return 0;
    }
                    /* WARNING: Subroutine does not return */
    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);
  }
                    /* WARNING: Subroutine does not return */
  crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);
}


SUB RSP,0x8
TEST RDI,RDI
JZ 0x0016028b
TEST RSI,RSI
JZ 0x001602bb
MOV RAX,RDX
TEST RDX,RDX
JZ 0x001602a3
MOV RDX,RSI
MOV RSI,RDI
MOV RDI,RAX
CALL 0x001142c0
XOR EAX,EAX
ADD RSP,0x8
RET
MOV EDX,0x189
LEA RSI,[0x1bdb28]
LEA RDI,[0x1aa70e]
CALL 0x00114270
MOV EDX,0x18b
LEA RSI,[0x1bdb28]
LEA RDI,[0x1bbc2c]
CALL 0x00114270
MOV EDX,0x18a
LEA RSI,[0x1bdb28]
LEA RDI,[0x1c07ee]
CALL 0x00114270
(translation_unit "undefined8 FUN_00160260(long param_1,long param_2,long param_3)\n\n{\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }\n  if (param_2 != 0) {\n    if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);\n}\n\n" (function_definition "undefined8 FUN_00160260(long param_1,long param_2,long param_3)\n\n{\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }\n  if (param_2 != 0) {\n    if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);\n}" type_identifier (function_declarator "FUN_00160260(long param_1,long param_2,long param_3)" identifier (parameter_list "(long param_1,long param_2,long param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }\n  if (param_2 != 0) {\n    if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);\n}" { (if_statement "if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }" { comment (expression_statement "crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);" (call_expression "crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189)" identifier (argument_list "("a != NULL","src/math/gmp_desc.c",0x189)" ( (string_literal ""a != NULL"" " string_content ") , (string_literal ""src/math/gmp_desc.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_2 != 0) {\n    if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }" { (if_statement "if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }" { (expression_statement "__gmpz_invert(param_3,param_1,param_2);" (call_expression "__gmpz_invert(param_3,param_1,param_2)" identifier (argument_list "(param_3,param_1,param_2)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) comment (expression_statement "crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);" (call_expression "crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b)" identifier (argument_list "("c != NULL","src/math/gmp_desc.c",0x18b)" ( (string_literal ""c != NULL"" " string_content ") , (string_literal ""src/math/gmp_desc.c"" " string_content ") , number_literal ))) ;) })) comment (expression_statement "crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);" (call_expression "crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a)" identifier (argument_list "("b != NULL","src/math/gmp_desc.c",0x18a)" ( (string_literal ""b != NULL"" " string_content ") , (string_literal ""src/math/gmp_desc.c"" " string_content ") , number_literal ))) ;) })))
(translation_unit "int invmod(void *a,void *b,void *c)\n\n{\n  if (a == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }\n  if (b != (void *)0x0) {\n    if (c != (void *)0x0) {\n      __gmpz_invert(c,a,b);\n      return 0;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);\n}\n\n" (function_definition "int invmod(void *a,void *b,void *c)\n\n{\n  if (a == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }\n  if (b != (void *)0x0) {\n    if (c != (void *)0x0) {\n      __gmpz_invert(c,a,b);\n      return 0;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);\n}" primitive_type (function_declarator "invmod(void *a,void *b,void *c)" identifier (parameter_list "(void *a,void *b,void *c)" ( (parameter_declaration "void *a" primitive_type (pointer_declarator "*a" * identifier)) , (parameter_declaration "void *b" primitive_type (pointer_declarator "*b" * identifier)) , (parameter_declaration "void *c" primitive_type (pointer_declarator "*c" * identifier)) ))) (compound_statement "{\n  if (a == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }\n  if (b != (void *)0x0) {\n    if (c != (void *)0x0) {\n      __gmpz_invert(c,a,b);\n      return 0;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);\n}" { (if_statement "if (a == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }" if (parenthesized_expression "(a == (void *)0x0)" ( (binary_expression "a == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }" { comment (expression_statement "crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);" (call_expression "crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189)" identifier (argument_list "("a != NULL","src/math/gmp_desc.c",0x189)" ( (string_literal ""a != NULL"" " string_content ") , (string_literal ""src/math/gmp_desc.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (b != (void *)0x0) {\n    if (c != (void *)0x0) {\n      __gmpz_invert(c,a,b);\n      return 0;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }" if (parenthesized_expression "(b != (void *)0x0)" ( (binary_expression "b != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (c != (void *)0x0) {\n      __gmpz_invert(c,a,b);\n      return 0;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }" { (if_statement "if (c != (void *)0x0) {\n      __gmpz_invert(c,a,b);\n      return 0;\n    }" if (parenthesized_expression "(c != (void *)0x0)" ( (binary_expression "c != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      __gmpz_invert(c,a,b);\n      return 0;\n    }" { (expression_statement "__gmpz_invert(c,a,b);" (call_expression "__gmpz_invert(c,a,b)" identifier (argument_list "(c,a,b)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) comment (expression_statement "crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);" (call_expression "crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b)" identifier (argument_list "("c != NULL","src/math/gmp_desc.c",0x18b)" ( (string_literal ""c != NULL"" " string_content ") , (string_literal ""src/math/gmp_desc.c"" " string_content ") , number_literal ))) ;) })) comment (expression_statement "crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);" (call_expression "crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a)" identifier (argument_list "("b != NULL","src/math/gmp_desc.c",0x18a)" ( (string_literal ""b != NULL"" " string_content ") , (string_literal ""src/math/gmp_desc.c"" " string_content ") , number_literal ))) ;) })))
(translation_unit "undefined8 FUN_00160260(long param_1,long param_2,long param_3)\n\n{\n  if (param_1 == 0) {\n                    \n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }\n  if (param_2 != 0) {\n    if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }\n                    \n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }\n                    \n  crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);\n}\n\n" (function_definition "undefined8 FUN_00160260(long param_1,long param_2,long param_3)\n\n{\n  if (param_1 == 0) {\n                    \n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }\n  if (param_2 != 0) {\n    if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }\n                    \n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }\n                    \n  crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);\n}" type_identifier (function_declarator "FUN_00160260(long param_1,long param_2,long param_3)" identifier (parameter_list "(long param_1,long param_2,long param_3)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  if (param_1 == 0) {\n                    \n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }\n  if (param_2 != 0) {\n    if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }\n                    \n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }\n                    \n  crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);\n}" { (if_statement "if (param_1 == 0) {\n                    \n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }" { (expression_statement "crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);" (call_expression "crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189)" identifier (argument_list "("a != NULL","src/math/gmp_desc.c",0x189)" ( (string_literal ""a != NULL"" " string_content ") , (string_literal ""src/math/gmp_desc.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_2 != 0) {\n    if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }\n                    \n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }\n                    \n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }" { (if_statement "if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }" { (expression_statement "__gmpz_invert(param_3,param_1,param_2);" (call_expression "__gmpz_invert(param_3,param_1,param_2)" identifier (argument_list "(param_3,param_1,param_2)" ( identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);" (call_expression "crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b)" identifier (argument_list "("c != NULL","src/math/gmp_desc.c",0x18b)" ( (string_literal ""c != NULL"" " string_content ") , (string_literal ""src/math/gmp_desc.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);" (call_expression "crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a)" identifier (argument_list "("b != NULL","src/math/gmp_desc.c",0x18a)" ( (string_literal ""b != NULL"" " string_content ") , (string_literal ""src/math/gmp_desc.c"" " string_content ") , number_literal ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (return_statement return LIT ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })))
(function_definition "undefined8 FUN_00160260(long param_1,long param_2,long param_3)\n\n{\n  if (param_1 == 0) {\n                    \n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }\n  if (param_2 != 0) {\n    if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }\n                    \n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }\n                    \n  crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);\n}" (type_identifier "undefined8") (function_declarator "FUN_00160260(long param_1,long param_2,long param_3)" (identifier "FUN_00160260") (parameter_list "(long param_1,long param_2,long param_3)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) (, ",") (parameter_declaration "long param_3" (sized_type_specifier "long" (long "long")) (identifier "param_3")) () ")"))) (compound_statement "{\n  if (param_1 == 0) {\n                    \n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }\n  if (param_2 != 0) {\n    if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }\n                    \n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }\n                    \n  crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);\n}" ({ "{") (if_statement "if (param_1 == 0) {\n                    \n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);\n  }" ({ "{") (expression_statement "crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);" (call_expression "crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189)" (identifier "crypt_argchk") (argument_list "("a != NULL","src/math/gmp_desc.c",0x189)" (( "(") (string_literal ""a != NULL"" (" """) (string_content "a != NULL") (" """)) (, ",") (string_literal ""src/math/gmp_desc.c"" (" """) (string_content "src/math/gmp_desc.c") (" """)) (, ",") (number_literal "0x189") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 != 0) {\n    if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }\n                    \n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }\n                    \n    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);\n  }" ({ "{") (if_statement "if (param_3 != 0) {\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }" (if "if") (parenthesized_expression "(param_3 != 0)" (( "(") (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      __gmpz_invert(param_3,param_1,param_2);\n      return 0;\n    }" ({ "{") (expression_statement "__gmpz_invert(param_3,param_1,param_2);" (call_expression "__gmpz_invert(param_3,param_1,param_2)" (identifier "__gmpz_invert") (argument_list "(param_3,param_1,param_2)" (( "(") (identifier "param_3") (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);" (call_expression "crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b)" (identifier "crypt_argchk") (argument_list "("c != NULL","src/math/gmp_desc.c",0x18b)" (( "(") (string_literal ""c != NULL"" (" """) (string_content "c != NULL") (" """)) (, ",") (string_literal ""src/math/gmp_desc.c"" (" """) (string_content "src/math/gmp_desc.c") (" """)) (, ",") (number_literal "0x18b") () ")"))) (; ";")) (} "}"))) (expression_statement "crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);" (call_expression "crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a)" (identifier "crypt_argchk") (argument_list "("b != NULL","src/math/gmp_desc.c",0x18a)" (( "(") (string_literal ""b != NULL"" (" """) (string_content "b != NULL") (" """)) (, ",") (string_literal ""src/math/gmp_desc.c"" (" """) (string_content "src/math/gmp_desc.c") (" """)) (, ",") (number_literal "0x18a") () ")"))) (; ";")) (} "}")))

int function_1(void *var_1,void *var_3,void *var_4)

{
  if (var_1 == (void *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_2("a != NULL","src/math/gmp_desc.c",0x189);
  }
  if (var_3 != (void *)0x0) {
    if (var_4 != (void *)0x0) {
      var_5(var_4,var_1,var_3);
      return 0;
    }
                    /* WARNING: Subroutine does not return */
    var_2("c != NULL","src/math/gmp_desc.c",0x18b);
  }
                    /* WARNING: Subroutine does not return */
  var_2("b != NULL","src/math/gmp_desc.c",0x18a);
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (sized_type_specifier) declarator: (identifier)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal)))))) (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 (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (return_statement (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal)))))))

undefined8 MASKED(long param_1,long param_2,long param_3)

{
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("a != NULL","src/math/gmp_desc.c",0x189);
  }
  if (param_2 != 0) {
    if (param_3 != 0) {
      __gmpz_invert(param_3,param_1,param_2);
      return 0;
    }
                    /* WARNING: Subroutine does not return */
    crypt_argchk("c != NULL","src/math/gmp_desc.c",0x18b);
  }
                    /* WARNING: Subroutine does not return */
  crypt_argchk("b != NULL","src/math/gmp_desc.c",0x18a);
}

