
int ocb_done_encrypt(ocb_state *ocb,uchar *pt,ulong ptlen,uchar *ct,uchar *tag,ulong *taglen)

{
  int iVar1;
  
  if (ocb == (ocb_state *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);
  }
  if (pt == (uchar *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);
  }
  if (ct == (uchar *)0x0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);
  }
  if (tag != (uchar *)0x0) {
    if (taglen != (ulong *)0x0) {
      iVar1 = s_ocb_done(ocb,pt,ptlen,ct,tag,taglen,0);
      return iVar1;
    }
                    /* WARNING: Subroutine does not return */
    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);
  }
                    /* WARNING: Subroutine does not return */
  crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);
}



void ocb_done_encrypt(long param_1,long param_2,undefined8 param_3,long param_4,long param_5,
                     long param_6)

{
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);
  }
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);
  }
  if (param_4 == 0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);
  }
  if (param_5 != 0) {
    if (param_6 != 0) {
      s_ocb_done();
      return;
    }
                    /* WARNING: Subroutine does not return */
    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);
  }
                    /* WARNING: Subroutine does not return */
  crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);
}


SUB RSP,0x8
TEST RDI,RDI
JZ 0x0013e3ed
TEST RSI,RSI
JZ 0x0013e44d
TEST RCX,RCX
JZ 0x0013e435
TEST R8,R8
JZ 0x0013e41d
TEST R9,R9
JZ 0x0013e405
SUB RSP,0x8
PUSH 0x0
CALL 0x00114920
ADD RSP,0x18
RET
MOV EDX,0x1f
LEA RSI,[0x1bcd90]
LEA RDI,[0x1bccee]
CALL 0x00114270
MOV EDX,0x23
LEA RSI,[0x1bcd90]
LEA RDI,[0x1b972d]
CALL 0x00114270
MOV EDX,0x22
LEA RSI,[0x1bcd90]
LEA RDI,[0x1b9721]
CALL 0x00114270
MOV EDX,0x21
LEA RSI,[0x1bcd90]
LEA RDI,[0x19c021]
CALL 0x00114270
MOV EDX,0x20
LEA RSI,[0x1bcd90]
LEA RDI,[0x19c016]
CALL 0x00114270
(translation_unit "void ocb_done_encrypt(long param_1,long param_2,undefined8 param_3,long param_4,long param_5,\n                     long param_6)\n\n{\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }\n  if (param_4 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }\n  if (param_5 != 0) {\n    if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);\n}\n\n" (function_definition "void ocb_done_encrypt(long param_1,long param_2,undefined8 param_3,long param_4,long param_5,\n                     long param_6)\n\n{\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }\n  if (param_4 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }\n  if (param_5 != 0) {\n    if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);\n}" primitive_type (function_declarator "ocb_done_encrypt(long param_1,long param_2,undefined8 param_3,long param_4,long param_5,\n                     long param_6)" identifier (parameter_list "(long param_1,long param_2,undefined8 param_3,long param_4,long param_5,\n                     long param_6)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_5" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_6" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }\n  if (param_4 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }\n  if (param_5 != 0) {\n    if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);\n}" { (if_statement "if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\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("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }" { comment (expression_statement "crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);" (call_expression "crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f)" identifier (argument_list "("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f)" ( (string_literal ""ocb != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }" { comment (expression_statement "crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);" (call_expression "crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20)" identifier (argument_list "("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20)" ( (string_literal ""pt != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_4 == 0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }" { comment (expression_statement "crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);" (call_expression "crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21)" identifier (argument_list "("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21)" ( (string_literal ""ct != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_5 != 0) {\n    if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n    if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }" { (if_statement "if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }" if (parenthesized_expression "(param_6 != 0)" ( (binary_expression "param_6 != 0" identifier != number_literal) )) (compound_statement "{\n      s_ocb_done();\n      return;\n    }" { (expression_statement "s_ocb_done();" (call_expression "s_ocb_done()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) comment (expression_statement "crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);" (call_expression "crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23)" identifier (argument_list "("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23)" ( (string_literal ""taglen != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" " string_content ") , number_literal ))) ;) })) comment (expression_statement "crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);" (call_expression "crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22)" identifier (argument_list "("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22)" ( (string_literal ""tag != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" " string_content ") , number_literal ))) ;) })))
(translation_unit "int ocb_done_encrypt(ocb_state *ocb,uchar *pt,ulong ptlen,uchar *ct,uchar *tag,ulong *taglen)\n\n{\n  int iVar1;\n  \n  if (ocb == (ocb_state *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }\n  if (pt == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }\n  if (ct == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }\n  if (tag != (uchar *)0x0) {\n    if (taglen != (ulong *)0x0) {\n      iVar1 = s_ocb_done(ocb,pt,ptlen,ct,tag,taglen,0);\n      return iVar1;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);\n}\n\n" (function_definition "int ocb_done_encrypt(ocb_state *ocb,uchar *pt,ulong ptlen,uchar *ct,uchar *tag,ulong *taglen)\n\n{\n  int iVar1;\n  \n  if (ocb == (ocb_state *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }\n  if (pt == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }\n  if (ct == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }\n  if (tag != (uchar *)0x0) {\n    if (taglen != (ulong *)0x0) {\n      iVar1 = s_ocb_done(ocb,pt,ptlen,ct,tag,taglen,0);\n      return iVar1;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);\n}" primitive_type (function_declarator "ocb_done_encrypt(ocb_state *ocb,uchar *pt,ulong ptlen,uchar *ct,uchar *tag,ulong *taglen)" identifier (parameter_list "(ocb_state *ocb,uchar *pt,ulong ptlen,uchar *ct,uchar *tag,ulong *taglen)" ( (parameter_declaration "ocb_state *ocb" type_identifier (pointer_declarator "*ocb" * identifier)) , (parameter_declaration "uchar *pt" type_identifier (pointer_declarator "*pt" * identifier)) , (parameter_declaration "ulong ptlen" type_identifier identifier) , (parameter_declaration "uchar *ct" type_identifier (pointer_declarator "*ct" * identifier)) , (parameter_declaration "uchar *tag" type_identifier (pointer_declarator "*tag" * identifier)) , (parameter_declaration "ulong *taglen" type_identifier (pointer_declarator "*taglen" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  \n  if (ocb == (ocb_state *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }\n  if (pt == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }\n  if (ct == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }\n  if (tag != (uchar *)0x0) {\n    if (taglen != (ulong *)0x0) {\n      iVar1 = s_ocb_done(ocb,pt,ptlen,ct,tag,taglen,0);\n      return iVar1;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (if_statement "if (ocb == (ocb_state *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }" if (parenthesized_expression "(ocb == (ocb_state *)0x0)" ( (binary_expression "ocb == (ocb_state *)0x0" identifier == (cast_expression "(ocb_state *)0x0" ( (type_descriptor "ocb_state *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }" { comment (expression_statement "crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);" (call_expression "crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f)" identifier (argument_list "("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f)" ( (string_literal ""ocb != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (pt == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }" if (parenthesized_expression "(pt == (uchar *)0x0)" ( (binary_expression "pt == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }" { comment (expression_statement "crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);" (call_expression "crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20)" identifier (argument_list "("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20)" ( (string_literal ""pt != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (ct == (uchar *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }" if (parenthesized_expression "(ct == (uchar *)0x0)" ( (binary_expression "ct == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }" { comment (expression_statement "crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);" (call_expression "crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21)" identifier (argument_list "("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21)" ( (string_literal ""ct != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (tag != (uchar *)0x0) {\n    if (taglen != (ulong *)0x0) {\n      iVar1 = s_ocb_done(ocb,pt,ptlen,ct,tag,taglen,0);\n      return iVar1;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }" if (parenthesized_expression "(tag != (uchar *)0x0)" ( (binary_expression "tag != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (taglen != (ulong *)0x0) {\n      iVar1 = s_ocb_done(ocb,pt,ptlen,ct,tag,taglen,0);\n      return iVar1;\n    }\n                    /* WARNING: Subroutine does not return */\n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }" { (if_statement "if (taglen != (ulong *)0x0) {\n      iVar1 = s_ocb_done(ocb,pt,ptlen,ct,tag,taglen,0);\n      return iVar1;\n    }" if (parenthesized_expression "(taglen != (ulong *)0x0)" ( (binary_expression "taglen != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar1 = s_ocb_done(ocb,pt,ptlen,ct,tag,taglen,0);\n      return iVar1;\n    }" { (expression_statement "iVar1 = s_ocb_done(ocb,pt,ptlen,ct,tag,taglen,0);" (assignment_expression "iVar1 = s_ocb_done(ocb,pt,ptlen,ct,tag,taglen,0)" identifier = (call_expression "s_ocb_done(ocb,pt,ptlen,ct,tag,taglen,0)" identifier (argument_list "(ocb,pt,ptlen,ct,tag,taglen,0)" ( identifier , identifier , identifier , identifier , identifier , identifier , number_literal )))) ;) (return_statement "return iVar1;" return identifier ;) })) comment (expression_statement "crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);" (call_expression "crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23)" identifier (argument_list "("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23)" ( (string_literal ""taglen != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" " string_content ") , number_literal ))) ;) })) comment (expression_statement "crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);" (call_expression "crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22)" identifier (argument_list "("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22)" ( (string_literal ""tag != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" " string_content ") , number_literal ))) ;) })))
(translation_unit "void ocb_done_encrypt(long param_1,long param_2,undefined8 param_3,long param_4,long param_5,\n                     long param_6)\n\n{\n  if (param_1 == 0) {\n                    \n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }\n  if (param_2 == 0) {\n                    \n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }\n  if (param_4 == 0) {\n                    \n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }\n  if (param_5 != 0) {\n    if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }\n                    \n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }\n                    \n  crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);\n}\n\n" (function_definition "void ocb_done_encrypt(long param_1,long param_2,undefined8 param_3,long param_4,long param_5,\n                     long param_6)\n\n{\n  if (param_1 == 0) {\n                    \n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }\n  if (param_2 == 0) {\n                    \n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }\n  if (param_4 == 0) {\n                    \n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }\n  if (param_5 != 0) {\n    if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }\n                    \n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }\n                    \n  crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);\n}" primitive_type (function_declarator "ocb_done_encrypt(long param_1,long param_2,undefined8 param_3,long param_4,long param_5,\n                     long param_6)" identifier (parameter_list "(long param_1,long param_2,undefined8 param_3,long param_4,long param_5,\n                     long param_6)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_5" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_6" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  if (param_1 == 0) {\n                    \n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }\n  if (param_2 == 0) {\n                    \n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }\n  if (param_4 == 0) {\n                    \n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }\n  if (param_5 != 0) {\n    if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }\n                    \n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }\n                    \n  crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);\n}" { (if_statement "if (param_1 == 0) {\n                    \n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }" { (expression_statement "crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);" (call_expression "crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f)" identifier (argument_list "("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f)" ( (string_literal ""ocb != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_2 == 0) {\n                    \n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }" { (expression_statement "crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);" (call_expression "crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20)" identifier (argument_list "("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20)" ( (string_literal ""pt != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_4 == 0) {\n                    \n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }" { (expression_statement "crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);" (call_expression "crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21)" identifier (argument_list "("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21)" ( (string_literal ""ct != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" " string_content ") , number_literal ))) ;) })) (if_statement "if (param_5 != 0) {\n    if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }\n                    \n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n    if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }\n                    \n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }" { (if_statement "if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }" if (parenthesized_expression "(param_6 != 0)" ( (binary_expression "param_6 != 0" identifier != number_literal) )) (compound_statement "{\n      s_ocb_done();\n      return;\n    }" { (expression_statement "s_ocb_done();" (call_expression "s_ocb_done()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);" (call_expression "crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23)" identifier (argument_list "("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23)" ( (string_literal ""taglen != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" " string_content ") , number_literal ))) ;) })) (expression_statement "crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);" (call_expression "crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22)" identifier (argument_list "("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22)" ( (string_literal ""tag != NULL"" " string_content ") , (string_literal ""src/encauth/ocb/ocb_done_encrypt.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 TYPE IDENT) , (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 { (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 { (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 ( ))) ;) (return_statement return ;) })) (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 "void ocb_done_encrypt(long param_1,long param_2,undefined8 param_3,long param_4,long param_5,\n                     long param_6)\n\n{\n  if (param_1 == 0) {\n                    \n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }\n  if (param_2 == 0) {\n                    \n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }\n  if (param_4 == 0) {\n                    \n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }\n  if (param_5 != 0) {\n    if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }\n                    \n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }\n                    \n  crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);\n}" (primitive_type "void") (function_declarator "ocb_done_encrypt(long param_1,long param_2,undefined8 param_3,long param_4,long param_5,\n                     long param_6)" (identifier "ocb_done_encrypt") (parameter_list "(long param_1,long param_2,undefined8 param_3,long param_4,long param_5,\n                     long param_6)" (( "(") (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 "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) (, ",") (parameter_declaration "long param_4" (sized_type_specifier "long" (long "long")) (identifier "param_4")) (, ",") (parameter_declaration "long param_5" (sized_type_specifier "long" (long "long")) (identifier "param_5")) (, ",") (parameter_declaration "long param_6" (sized_type_specifier "long" (long "long")) (identifier "param_6")) () ")"))) (compound_statement "{\n  if (param_1 == 0) {\n                    \n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }\n  if (param_2 == 0) {\n                    \n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }\n  if (param_4 == 0) {\n                    \n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }\n  if (param_5 != 0) {\n    if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }\n                    \n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }\n                    \n  crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);\n}" ({ "{") (if_statement "if (param_1 == 0) {\n                    \n    crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\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("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);\n  }" ({ "{") (expression_statement "crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);" (call_expression "crypt_argchk("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f)" (identifier "crypt_argchk") (argument_list "("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f)" (( "(") (string_literal ""ocb != NULL"" (" """) (string_content "ocb != NULL") (" """)) (, ",") (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" (" """) (string_content "src/encauth/ocb/ocb_done_encrypt.c") (" """)) (, ",") (number_literal "0x1f") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 == 0) {\n                    \n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);\n  }" ({ "{") (expression_statement "crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);" (call_expression "crypt_argchk("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20)" (identifier "crypt_argchk") (argument_list "("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20)" (( "(") (string_literal ""pt != NULL"" (" """) (string_content "pt != NULL") (" """)) (, ",") (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" (" """) (string_content "src/encauth/ocb/ocb_done_encrypt.c") (" """)) (, ",") (number_literal "0x20") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_4 == 0) {\n                    \n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);\n  }" ({ "{") (expression_statement "crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);" (call_expression "crypt_argchk("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21)" (identifier "crypt_argchk") (argument_list "("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21)" (( "(") (string_literal ""ct != NULL"" (" """) (string_content "ct != NULL") (" """)) (, ",") (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" (" """) (string_content "src/encauth/ocb/ocb_done_encrypt.c") (" """)) (, ",") (number_literal "0x21") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_5 != 0) {\n    if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }\n                    \n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }" (if "if") (parenthesized_expression "(param_5 != 0)" (( "(") (binary_expression "param_5 != 0" (identifier "param_5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }\n                    \n    crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);\n  }" ({ "{") (if_statement "if (param_6 != 0) {\n      s_ocb_done();\n      return;\n    }" (if "if") (parenthesized_expression "(param_6 != 0)" (( "(") (binary_expression "param_6 != 0" (identifier "param_6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      s_ocb_done();\n      return;\n    }" ({ "{") (expression_statement "s_ocb_done();" (call_expression "s_ocb_done()" (identifier "s_ocb_done") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);" (call_expression "crypt_argchk("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23)" (identifier "crypt_argchk") (argument_list "("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23)" (( "(") (string_literal ""taglen != NULL"" (" """) (string_content "taglen != NULL") (" """)) (, ",") (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" (" """) (string_content "src/encauth/ocb/ocb_done_encrypt.c") (" """)) (, ",") (number_literal "0x23") () ")"))) (; ";")) (} "}"))) (expression_statement "crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);" (call_expression "crypt_argchk("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22)" (identifier "crypt_argchk") (argument_list "("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22)" (( "(") (string_literal ""tag != NULL"" (" """) (string_content "tag != NULL") (" """)) (, ",") (string_literal ""src/encauth/ocb/ocb_done_encrypt.c"" (" """) (string_content "src/encauth/ocb/ocb_done_encrypt.c") (" """)) (, ",") (number_literal "0x22") () ")"))) (; ";")) (} "}")))

int function_1(type_1 *var_1,type_2 *var_3,type_3 ptlen,type_2 *var_4,type_2 *var_5,type_3 *var_6)

{
  int iVar1;
  
  if (var_1 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_2("ocb != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x1f);
  }
  if (var_3 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_2("pt != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x20);
  }
  if (var_4 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_2("ct != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x21);
  }
  if (var_5 != (type_2 *)0x0) {
    if (var_6 != (type_3 *)0x0) {
      iVar1 = var_7(var_1,var_3,ptlen,var_4,var_5,var_6,0);
      return iVar1;
    }
                    /* WARNING: Subroutine does not return */
    var_2("taglen != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x23);
  }
                    /* WARNING: Subroutine does not return */
  var_2("tag != NULL","src/encauth/ocb/ocb_done_encrypt.c",0x22);
}


(translation_unit (function_definition type: (primitive_type) 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: (type_identifier) declarator: (identifier)) (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 (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 (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))) (return_statement))) (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)))))))

void MASKED(long param_1,long param_2,undefined8 param_3,long param_4,long param_5,
                     long param_6)

{
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("ocb != NULL","src/encauth/ocb/MASKED.c",0x1f);
  }
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("pt != NULL","src/encauth/ocb/MASKED.c",0x20);
  }
  if (param_4 == 0) {
                    /* WARNING: Subroutine does not return */
    crypt_argchk("ct != NULL","src/encauth/ocb/MASKED.c",0x21);
  }
  if (param_5 != 0) {
    if (param_6 != 0) {
      s_ocb_done();
      return;
    }
                    /* WARNING: Subroutine does not return */
    crypt_argchk("taglen != NULL","src/encauth/ocb/MASKED.c",0x23);
  }
                    /* WARNING: Subroutine does not return */
  crypt_argchk("tag != NULL","src/encauth/ocb/MASKED.c",0x22);
}

