
int dsa_make_key(prng_state *prng,int wprng,int group_size,int modulus_size,dsa_key *key)

{
  int iVar1;
  
  iVar1 = dsa_generate_pqg(prng,wprng,group_size,modulus_size,key);
  if (iVar1 != 0) {
    return iVar1;
  }
  iVar1 = dsa_generate_key(prng,wprng,key);
  return iVar1;
}



void dsa_make_key(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4,
                 undefined8 param_5)

{
  int iVar1;
  
  iVar1 = dsa_generate_pqg();
  if (iVar1 != 0) {
    return;
  }
  dsa_generate_key(param_1,param_2,param_5);
  return;
}


PUSH R12
MOV R12,R8
PUSH RBP
MOV EBP,ESI
PUSH RBX
MOV RBX,RDI
CALL 0x00113960
TEST EAX,EAX
JZ 0x00187df0
POP RBX
POP RBP
POP R12
RET
MOV RDX,R12
MOV ESI,EBP
MOV RDI,RBX
POP RBX
POP RBP
POP R12
JMP 0x00113970
(translation_unit "void dsa_make_key(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5)\n\n{\n  int iVar1;\n  \n  iVar1 = dsa_generate_pqg();\n  if (iVar1 != 0) {\n    return;\n  }\n  dsa_generate_key(param_1,param_2,param_5);\n  return;\n}\n\n" (function_definition "void dsa_make_key(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5)\n\n{\n  int iVar1;\n  \n  iVar1 = dsa_generate_pqg();\n  if (iVar1 != 0) {\n    return;\n  }\n  dsa_generate_key(param_1,param_2,param_5);\n  return;\n}" primitive_type (function_declarator "dsa_make_key(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5)" identifier (parameter_list "(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = dsa_generate_pqg();\n  if (iVar1 != 0) {\n    return;\n  }\n  dsa_generate_key(param_1,param_2,param_5);\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "iVar1 = dsa_generate_pqg();" (assignment_expression "iVar1 = dsa_generate_pqg()" identifier = (call_expression "dsa_generate_pqg()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 != 0) {\n    return;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "dsa_generate_key(param_1,param_2,param_5);" (call_expression "dsa_generate_key(param_1,param_2,param_5)" identifier (argument_list "(param_1,param_2,param_5)" ( identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "int dsa_make_key(prng_state *prng,int wprng,int group_size,int modulus_size,dsa_key *key)\n\n{\n  int iVar1;\n  \n  iVar1 = dsa_generate_pqg(prng,wprng,group_size,modulus_size,key);\n  if (iVar1 != 0) {\n    return iVar1;\n  }\n  iVar1 = dsa_generate_key(prng,wprng,key);\n  return iVar1;\n}\n\n" (function_definition "int dsa_make_key(prng_state *prng,int wprng,int group_size,int modulus_size,dsa_key *key)\n\n{\n  int iVar1;\n  \n  iVar1 = dsa_generate_pqg(prng,wprng,group_size,modulus_size,key);\n  if (iVar1 != 0) {\n    return iVar1;\n  }\n  iVar1 = dsa_generate_key(prng,wprng,key);\n  return iVar1;\n}" primitive_type (function_declarator "dsa_make_key(prng_state *prng,int wprng,int group_size,int modulus_size,dsa_key *key)" identifier (parameter_list "(prng_state *prng,int wprng,int group_size,int modulus_size,dsa_key *key)" ( (parameter_declaration "prng_state *prng" type_identifier (pointer_declarator "*prng" * identifier)) , (parameter_declaration "int wprng" primitive_type identifier) , (parameter_declaration "int group_size" primitive_type identifier) , (parameter_declaration "int modulus_size" primitive_type identifier) , (parameter_declaration "dsa_key *key" type_identifier (pointer_declarator "*key" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = dsa_generate_pqg(prng,wprng,group_size,modulus_size,key);\n  if (iVar1 != 0) {\n    return iVar1;\n  }\n  iVar1 = dsa_generate_key(prng,wprng,key);\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "iVar1 = dsa_generate_pqg(prng,wprng,group_size,modulus_size,key);" (assignment_expression "iVar1 = dsa_generate_pqg(prng,wprng,group_size,modulus_size,key)" identifier = (call_expression "dsa_generate_pqg(prng,wprng,group_size,modulus_size,key)" identifier (argument_list "(prng,wprng,group_size,modulus_size,key)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar1 != 0) {\n    return iVar1;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    return iVar1;\n  }" { (return_statement "return iVar1;" return identifier ;) })) (expression_statement "iVar1 = dsa_generate_key(prng,wprng,key);" (assignment_expression "iVar1 = dsa_generate_key(prng,wprng,key)" identifier = (call_expression "dsa_generate_key(prng,wprng,key)" identifier (argument_list "(prng,wprng,key)" ( identifier , identifier , identifier )))) ;) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "void dsa_make_key(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5)\n\n{\n  int iVar1;\n  \n  iVar1 = dsa_generate_pqg();\n  if (iVar1 != 0) {\n    return;\n  }\n  dsa_generate_key(param_1,param_2,param_5);\n  return;\n}\n\n" (function_definition "void dsa_make_key(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5)\n\n{\n  int iVar1;\n  \n  iVar1 = dsa_generate_pqg();\n  if (iVar1 != 0) {\n    return;\n  }\n  dsa_generate_key(param_1,param_2,param_5);\n  return;\n}" primitive_type (function_declarator "dsa_make_key(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5)" identifier (parameter_list "(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = dsa_generate_pqg();\n  if (iVar1 != 0) {\n    return;\n  }\n  dsa_generate_key(param_1,param_2,param_5);\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "iVar1 = dsa_generate_pqg();" (assignment_expression "iVar1 = dsa_generate_pqg()" identifier = (call_expression "dsa_generate_pqg()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 != 0) {\n    return;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "dsa_generate_key(param_1,param_2,param_5);" (call_expression "dsa_generate_key(param_1,param_2,param_5)" identifier (argument_list "(param_1,param_2,param_5)" ( identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void dsa_make_key(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5)\n\n{\n  int iVar1;\n  \n  iVar1 = dsa_generate_pqg();\n  if (iVar1 != 0) {\n    return;\n  }\n  dsa_generate_key(param_1,param_2,param_5);\n  return;\n}" (primitive_type "void") (function_declarator "dsa_make_key(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5)" (identifier "dsa_make_key") (parameter_list "(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4,\n                 undefined8 param_5)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) (, ",") (parameter_declaration "undefined8 param_4" (type_identifier "undefined8") (identifier "param_4")) (, ",") (parameter_declaration "undefined8 param_5" (type_identifier "undefined8") (identifier "param_5")) () ")"))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = dsa_generate_pqg();\n  if (iVar1 != 0) {\n    return;\n  }\n  dsa_generate_key(param_1,param_2,param_5);\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (expression_statement "iVar1 = dsa_generate_pqg();" (assignment_expression "iVar1 = dsa_generate_pqg()" (identifier "iVar1") (= "=") (call_expression "dsa_generate_pqg()" (identifier "dsa_generate_pqg") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "dsa_generate_key(param_1,param_2,param_5);" (call_expression "dsa_generate_key(param_1,param_2,param_5)" (identifier "dsa_generate_key") (argument_list "(param_1,param_2,param_5)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_5") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

int function_1(type_1 *prng,int wprng,int group_size,int modulus_size,type_2 *key)

{
  int var_2;
  
  var_2 = var_1(prng,wprng,group_size,modulus_size,key);
  if (var_2 != 0) {
    return var_2;
  }
  var_2 = var_3(prng,wprng,key);
  return var_2;
}


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

void MASKED(undefined8 param_1,undefined4 param_2,undefined8 param_3,undefined8 param_4,
                 undefined8 param_5)

{
  int iVar1;
  
  iVar1 = dsa_generate_pqg();
  if (iVar1 != 0) {
    return;
  }
  dsa_generate_key(param_1,param_2,param_5);
  return;
}

