
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

Bignum_conflict bn_power_2(int n)

{
  Bignum_conflict bn;
  
  if (-1 < n) {
    bn = newbn((n >> 5) + 1);
    bignum_set_bit(bn,n,1);
    return bn;
  }
                    /* WARNING: Subroutine does not return */
  __assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined4 FUN_00022370(int param_1)

{
  undefined4 uVar1;
  
  if (-1 < param_1) {
    uVar1 = FUN_00021200();
    FUN_00022300(uVar1,param_1,1);
    return uVar1;
  }
                    /* WARNING: Subroutine does not return */
  __assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");
}


PUSH ESI
PUSH EBX
CALL 0x00014540
ADD EBX,0x3aaed
SUB ESP,0x4
MOV ESI,dword ptr [ESP + 0x10]
TEST ESI,ESI
JS 0x000223ab
MOV EAX,ESI
SAR EAX,0x5
ADD EAX,0x1
CALL 0x00021200
SUB ESP,0x4
PUSH 0x1
MOV EBX,EAX
PUSH ESI
PUSH EAX
CALL 0x00022300
ADD ESP,0x14
MOV EAX,EBX
POP EBX
POP ESI
RET
LEA EAX,[EBX + 0xfffe6ff0]
PUSH EAX
LEA EAX,[EBX + 0xfffe6de4]
PUSH 0x51
PUSH EAX
LEA EAX,[EBX + 0xfffe6e43]
PUSH EAX
CALL 0x00012550
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_00022370(int param_1)\n\n{\n  undefined4 uVar1;\n  \n  if (-1 < param_1) {\n    uVar1 = FUN_00021200();\n    FUN_00022300(uVar1,param_1,1);\n    return uVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");\n}\n\n" comment (function_definition "undefined4 FUN_00022370(int param_1)\n\n{\n  undefined4 uVar1;\n  \n  if (-1 < param_1) {\n    uVar1 = FUN_00021200();\n    FUN_00022300(uVar1,param_1,1);\n    return uVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");\n}" type_identifier (function_declarator "FUN_00022370(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  \n  if (-1 < param_1) {\n    uVar1 = FUN_00021200();\n    FUN_00022300(uVar1,param_1,1);\n    return uVar1;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (if_statement "if (-1 < param_1) {\n    uVar1 = FUN_00021200();\n    FUN_00022300(uVar1,param_1,1);\n    return uVar1;\n  }" if (parenthesized_expression "(-1 < param_1)" ( (binary_expression "-1 < param_1" number_literal < identifier) )) (compound_statement "{\n    uVar1 = FUN_00021200();\n    FUN_00022300(uVar1,param_1,1);\n    return uVar1;\n  }" { (expression_statement "uVar1 = FUN_00021200();" (assignment_expression "uVar1 = FUN_00021200()" identifier = (call_expression "FUN_00021200()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00022300(uVar1,param_1,1);" (call_expression "FUN_00022300(uVar1,param_1,1)" identifier (argument_list "(uVar1,param_1,1)" ( identifier , identifier , number_literal ))) ;) (return_statement "return uVar1;" return identifier ;) })) comment (expression_statement "__assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");" (call_expression "__assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2")" identifier (argument_list "("n >= 0","sshbn.c",0x51,"bn_power_2")" ( (string_literal ""n >= 0"" " string_content ") , (string_literal ""sshbn.c"" " string_content ") , number_literal , (string_literal ""bn_power_2"" " string_content ") ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nBignum_conflict bn_power_2(int n)\n\n{\n  Bignum_conflict bn;\n  \n  if (-1 < n) {\n    bn = newbn((n >> 5) + 1);\n    bignum_set_bit(bn,n,1);\n    return bn;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");\n}\n\n" comment comment (function_definition "Bignum_conflict bn_power_2(int n)\n\n{\n  Bignum_conflict bn;\n  \n  if (-1 < n) {\n    bn = newbn((n >> 5) + 1);\n    bignum_set_bit(bn,n,1);\n    return bn;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");\n}" type_identifier (function_declarator "bn_power_2(int n)" identifier (parameter_list "(int n)" ( (parameter_declaration "int n" primitive_type identifier) ))) (compound_statement "{\n  Bignum_conflict bn;\n  \n  if (-1 < n) {\n    bn = newbn((n >> 5) + 1);\n    bignum_set_bit(bn,n,1);\n    return bn;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");\n}" { (declaration "Bignum_conflict bn;" type_identifier identifier ;) (if_statement "if (-1 < n) {\n    bn = newbn((n >> 5) + 1);\n    bignum_set_bit(bn,n,1);\n    return bn;\n  }" if (parenthesized_expression "(-1 < n)" ( (binary_expression "-1 < n" number_literal < identifier) )) (compound_statement "{\n    bn = newbn((n >> 5) + 1);\n    bignum_set_bit(bn,n,1);\n    return bn;\n  }" { (expression_statement "bn = newbn((n >> 5) + 1);" (assignment_expression "bn = newbn((n >> 5) + 1)" identifier = (call_expression "newbn((n >> 5) + 1)" identifier (argument_list "((n >> 5) + 1)" ( (binary_expression "(n >> 5) + 1" (parenthesized_expression "(n >> 5)" ( (binary_expression "n >> 5" identifier >> number_literal) )) + number_literal) )))) ;) (expression_statement "bignum_set_bit(bn,n,1);" (call_expression "bignum_set_bit(bn,n,1)" identifier (argument_list "(bn,n,1)" ( identifier , identifier , number_literal ))) ;) (return_statement "return bn;" return identifier ;) })) comment (expression_statement "__assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");" (call_expression "__assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2")" identifier (argument_list "("n >= 0","sshbn.c",0x51,"bn_power_2")" ( (string_literal ""n >= 0"" " string_content ") , (string_literal ""sshbn.c"" " string_content ") , number_literal , (string_literal ""bn_power_2"" " string_content ") ))) ;) })))
(translation_unit "undefined4 FUN_00022370(int param_1)\n\n{\n  undefined4 uVar1;\n  \n  if (-1 < param_1) {\n    uVar1 = FUN_00021200();\n    FUN_00022300(uVar1,param_1,1);\n    return uVar1;\n  }\n                    \n  __assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");\n}\n\n" (function_definition "undefined4 FUN_00022370(int param_1)\n\n{\n  undefined4 uVar1;\n  \n  if (-1 < param_1) {\n    uVar1 = FUN_00021200();\n    FUN_00022300(uVar1,param_1,1);\n    return uVar1;\n  }\n                    \n  __assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");\n}" type_identifier (function_declarator "FUN_00022370(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  \n  if (-1 < param_1) {\n    uVar1 = FUN_00021200();\n    FUN_00022300(uVar1,param_1,1);\n    return uVar1;\n  }\n                    \n  __assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (if_statement "if (-1 < param_1) {\n    uVar1 = FUN_00021200();\n    FUN_00022300(uVar1,param_1,1);\n    return uVar1;\n  }" if (parenthesized_expression "(-1 < param_1)" ( (binary_expression "-1 < param_1" number_literal < identifier) )) (compound_statement "{\n    uVar1 = FUN_00021200();\n    FUN_00022300(uVar1,param_1,1);\n    return uVar1;\n  }" { (expression_statement "uVar1 = FUN_00021200();" (assignment_expression "uVar1 = FUN_00021200()" identifier = (call_expression "FUN_00021200()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00022300(uVar1,param_1,1);" (call_expression "FUN_00022300(uVar1,param_1,1)" identifier (argument_list "(uVar1,param_1,1)" ( identifier , identifier , number_literal ))) ;) (return_statement "return uVar1;" return identifier ;) })) (expression_statement "__assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");" (call_expression "__assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2")" identifier (argument_list "("n >= 0","sshbn.c",0x51,"bn_power_2")" ( (string_literal ""n >= 0"" " string_content ") , (string_literal ""sshbn.c"" " string_content ") , number_literal , (string_literal ""bn_power_2"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "undefined4 FUN_00022370(int param_1)\n\n{\n  undefined4 uVar1;\n  \n  if (-1 < param_1) {\n    uVar1 = FUN_00021200();\n    FUN_00022300(uVar1,param_1,1);\n    return uVar1;\n  }\n                    \n  __assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");\n}" (type_identifier "undefined4") (function_declarator "FUN_00022370(int param_1)" (identifier "FUN_00022370") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  \n  if (-1 < param_1) {\n    uVar1 = FUN_00021200();\n    FUN_00022300(uVar1,param_1,1);\n    return uVar1;\n  }\n                    \n  __assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (if_statement "if (-1 < param_1) {\n    uVar1 = FUN_00021200();\n    FUN_00022300(uVar1,param_1,1);\n    return uVar1;\n  }" (if "if") (parenthesized_expression "(-1 < param_1)" (( "(") (binary_expression "-1 < param_1" (number_literal "-1") (< "<") (identifier "param_1")) () ")")) (compound_statement "{\n    uVar1 = FUN_00021200();\n    FUN_00022300(uVar1,param_1,1);\n    return uVar1;\n  }" ({ "{") (expression_statement "uVar1 = FUN_00021200();" (assignment_expression "uVar1 = FUN_00021200()" (identifier "uVar1") (= "=") (call_expression "FUN_00021200()" (identifier "FUN_00021200") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_00022300(uVar1,param_1,1);" (call_expression "FUN_00022300(uVar1,param_1,1)" (identifier "FUN_00022300") (argument_list "(uVar1,param_1,1)" (( "(") (identifier "uVar1") (, ",") (identifier "param_1") (, ",") (number_literal "1") () ")"))) (; ";")) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}"))) (expression_statement "__assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");" (call_expression "__assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2")" (identifier "__assert_fail") (argument_list "("n >= 0","sshbn.c",0x51,"bn_power_2")" (( "(") (string_literal ""n >= 0"" (" """) (string_content "n >= 0") (" """)) (, ",") (string_literal ""sshbn.c"" (" """) (string_content "sshbn.c") (" """)) (, ",") (number_literal "0x51") (, ",") (string_literal ""bn_power_2"" (" """) (string_content "bn_power_2") (" """)) () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

type_1 function_1(int var_1)

{
  type_1 bn;
  
  if (-1 < var_1) {
    bn = var_2((var_1 >> 5) + 1);
    var_3(bn,var_1,1);
    return bn;
  }
                    /* WARNING: Subroutine does not return */
  var_4("n >= 0","sshbn.c",0x51,"bn_power_2");
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined4 MASKED(int param_1)

{
  undefined4 uVar1;
  
  if (-1 < param_1) {
    uVar1 = FUN_00021200();
    FUN_00022300(uVar1,param_1,1);
    return uVar1;
  }
                    /* WARNING: Subroutine does not return */
  __assert_fail("n >= 0","sshbn.c",0x51,"bn_power_2");
}

