
void * sha1_buffer(char *buffer,size_t len,void *resblock)

{
  void *pvVar1;
  sha1_ctx ctx;
  
  sha1_init_ctx(&ctx);
  sha1_process_bytes(buffer,len,&ctx);
  pvVar1 = sha1_finish_ctx(&ctx,resblock);
  return pvVar1;
}



void FUN_0015bcb0(undefined8 param_1,undefined8 param_2,undefined8 param_3)

{
  undefined1 auStack_c8 [168];
  
  FUN_0015a670(auStack_c8);
  FUN_0015b9b0(param_1,param_2,auStack_c8);
  FUN_0015b870(auStack_c8,param_3);
  return;
}


PUSH R13
MOV R13,RSI
PUSH R12
MOV R12,RDI
PUSH RBP
MOV RBP,RDX
PUSH RBX
SUB RSP,0xa8
MOV RBX,RSP
MOV RDI,RBX
CALL 0x0015a670
MOV RDX,RBX
MOV RSI,R13
MOV RDI,R12
CALL 0x0015b9b0
MOV RSI,RBP
MOV RDI,RBX
CALL 0x0015b870
ADD RSP,0xa8
POP RBX
POP RBP
POP R12
POP R13
RET
(translation_unit "void FUN_0015bcb0(undefined8 param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  undefined1 auStack_c8 [168];\n  \n  FUN_0015a670(auStack_c8);\n  FUN_0015b9b0(param_1,param_2,auStack_c8);\n  FUN_0015b870(auStack_c8,param_3);\n  return;\n}\n\n" (function_definition "void FUN_0015bcb0(undefined8 param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  undefined1 auStack_c8 [168];\n  \n  FUN_0015a670(auStack_c8);\n  FUN_0015b9b0(param_1,param_2,auStack_c8);\n  FUN_0015b870(auStack_c8,param_3);\n  return;\n}" primitive_type (function_declarator "FUN_0015bcb0(undefined8 param_1,undefined8 param_2,undefined8 param_3)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined1 auStack_c8 [168];\n  \n  FUN_0015a670(auStack_c8);\n  FUN_0015b9b0(param_1,param_2,auStack_c8);\n  FUN_0015b870(auStack_c8,param_3);\n  return;\n}" { (declaration "undefined1 auStack_c8 [168];" type_identifier (array_declarator "auStack_c8 [168]" identifier [ number_literal ]) ;) (expression_statement "FUN_0015a670(auStack_c8);" (call_expression "FUN_0015a670(auStack_c8)" identifier (argument_list "(auStack_c8)" ( identifier ))) ;) (expression_statement "FUN_0015b9b0(param_1,param_2,auStack_c8);" (call_expression "FUN_0015b9b0(param_1,param_2,auStack_c8)" identifier (argument_list "(param_1,param_2,auStack_c8)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0015b870(auStack_c8,param_3);" (call_expression "FUN_0015b870(auStack_c8,param_3)" identifier (argument_list "(auStack_c8,param_3)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void * sha1_buffer(char *buffer,size_t len,void *resblock)\n\n{\n  void *pvVar1;\n  sha1_ctx ctx;\n  \n  sha1_init_ctx(&ctx);\n  sha1_process_bytes(buffer,len,&ctx);\n  pvVar1 = sha1_finish_ctx(&ctx,resblock);\n  return pvVar1;\n}\n\n" (function_definition "void * sha1_buffer(char *buffer,size_t len,void *resblock)\n\n{\n  void *pvVar1;\n  sha1_ctx ctx;\n  \n  sha1_init_ctx(&ctx);\n  sha1_process_bytes(buffer,len,&ctx);\n  pvVar1 = sha1_finish_ctx(&ctx,resblock);\n  return pvVar1;\n}" primitive_type (pointer_declarator "* sha1_buffer(char *buffer,size_t len,void *resblock)" * (function_declarator "sha1_buffer(char *buffer,size_t len,void *resblock)" identifier (parameter_list "(char *buffer,size_t len,void *resblock)" ( (parameter_declaration "char *buffer" primitive_type (pointer_declarator "*buffer" * identifier)) , (parameter_declaration "size_t len" primitive_type identifier) , (parameter_declaration "void *resblock" primitive_type (pointer_declarator "*resblock" * identifier)) )))) (compound_statement "{\n  void *pvVar1;\n  sha1_ctx ctx;\n  \n  sha1_init_ctx(&ctx);\n  sha1_process_bytes(buffer,len,&ctx);\n  pvVar1 = sha1_finish_ctx(&ctx,resblock);\n  return pvVar1;\n}" { (declaration "void *pvVar1;" primitive_type (pointer_declarator "*pvVar1" * identifier) ;) (declaration "sha1_ctx ctx;" type_identifier identifier ;) (expression_statement "sha1_init_ctx(&ctx);" (call_expression "sha1_init_ctx(&ctx)" identifier (argument_list "(&ctx)" ( (pointer_expression "&ctx" & identifier) ))) ;) (expression_statement "sha1_process_bytes(buffer,len,&ctx);" (call_expression "sha1_process_bytes(buffer,len,&ctx)" identifier (argument_list "(buffer,len,&ctx)" ( identifier , identifier , (pointer_expression "&ctx" & identifier) ))) ;) (expression_statement "pvVar1 = sha1_finish_ctx(&ctx,resblock);" (assignment_expression "pvVar1 = sha1_finish_ctx(&ctx,resblock)" identifier = (call_expression "sha1_finish_ctx(&ctx,resblock)" identifier (argument_list "(&ctx,resblock)" ( (pointer_expression "&ctx" & identifier) , identifier )))) ;) (return_statement "return pvVar1;" return identifier ;) })))
(translation_unit "void FUN_0015bcb0(undefined8 param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  undefined1 auStack_c8 [168];\n  \n  FUN_0015a670(auStack_c8);\n  FUN_0015b9b0(param_1,param_2,auStack_c8);\n  FUN_0015b870(auStack_c8,param_3);\n  return;\n}\n\n" (function_definition "void FUN_0015bcb0(undefined8 param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  undefined1 auStack_c8 [168];\n  \n  FUN_0015a670(auStack_c8);\n  FUN_0015b9b0(param_1,param_2,auStack_c8);\n  FUN_0015b870(auStack_c8,param_3);\n  return;\n}" primitive_type (function_declarator "FUN_0015bcb0(undefined8 param_1,undefined8 param_2,undefined8 param_3)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  undefined1 auStack_c8 [168];\n  \n  FUN_0015a670(auStack_c8);\n  FUN_0015b9b0(param_1,param_2,auStack_c8);\n  FUN_0015b870(auStack_c8,param_3);\n  return;\n}" { (declaration "undefined1 auStack_c8 [168];" type_identifier (array_declarator "auStack_c8 [168]" identifier [ number_literal ]) ;) (expression_statement "FUN_0015a670(auStack_c8);" (call_expression "FUN_0015a670(auStack_c8)" identifier (argument_list "(auStack_c8)" ( identifier ))) ;) (expression_statement "FUN_0015b9b0(param_1,param_2,auStack_c8);" (call_expression "FUN_0015b9b0(param_1,param_2,auStack_c8)" identifier (argument_list "(param_1,param_2,auStack_c8)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0015b870(auStack_c8,param_3);" (call_expression "FUN_0015b870(auStack_c8,param_3)" identifier (argument_list "(auStack_c8,param_3)" ( 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) ))) (compound_statement { (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_0015bcb0(undefined8 param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  undefined1 auStack_c8 [168];\n  \n  FUN_0015a670(auStack_c8);\n  FUN_0015b9b0(param_1,param_2,auStack_c8);\n  FUN_0015b870(auStack_c8,param_3);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0015bcb0(undefined8 param_1,undefined8 param_2,undefined8 param_3)" (identifier "FUN_0015bcb0") (parameter_list "(undefined8 param_1,undefined8 param_2,undefined8 param_3)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) () ")"))) (compound_statement "{\n  undefined1 auStack_c8 [168];\n  \n  FUN_0015a670(auStack_c8);\n  FUN_0015b9b0(param_1,param_2,auStack_c8);\n  FUN_0015b870(auStack_c8,param_3);\n  return;\n}" ({ "{") (declaration "undefined1 auStack_c8 [168];" (type_identifier "undefined1") (array_declarator "auStack_c8 [168]" (identifier "auStack_c8") ([ "[") (number_literal "168") (] "]")) (; ";")) (expression_statement "FUN_0015a670(auStack_c8);" (call_expression "FUN_0015a670(auStack_c8)" (identifier "FUN_0015a670") (argument_list "(auStack_c8)" (( "(") (identifier "auStack_c8") () ")"))) (; ";")) (expression_statement "FUN_0015b9b0(param_1,param_2,auStack_c8);" (call_expression "FUN_0015b9b0(param_1,param_2,auStack_c8)" (identifier "FUN_0015b9b0") (argument_list "(param_1,param_2,auStack_c8)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "auStack_c8") () ")"))) (; ";")) (expression_statement "FUN_0015b870(auStack_c8,param_3);" (call_expression "FUN_0015b870(auStack_c8,param_3)" (identifier "FUN_0015b870") (argument_list "(auStack_c8,param_3)" (( "(") (identifier "auStack_c8") (, ",") (identifier "param_3") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void * function_1(char *buffer,size_t len,void *resblock)

{
  void *pvVar1;
  type_1 ctx;
  
  var_1(&ctx);
  var_2(buffer,len,&ctx);
  pvVar1 = var_3(&ctx,resblock);
  return pvVar1;
}


(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)))) body: (compound_statement (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (return_statement))))

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

{
  undefined1 auStack_c8 [168];
  
  FUN_0015a670(auStack_c8);
  FUN_0015b9b0(param_1,param_2,auStack_c8);
  FUN_0015b870(auStack_c8,param_3);
  return;
}

