
int sha224_init(hash_state *md)

{
  if (md != (hash_state *)0x0) {
    (md->sha256).curlen = 0;
    (md->chc).length = 0;
    (md->sha256).state[0] = 0xc1059ed8;
    (md->sha256).state[1] = 0x367cd507;
    (md->sha256).state[2] = 0x3070dd17;
    (md->sha256).state[3] = 0xf70e5939;
    (md->sha256).state[4] = 0xffc00b31;
    (md->sha256).state[5] = 0x68581511;
    (md->sha256).state[6] = 0x64f98fa7;
    (md->sha256).state[7] = 0xbefa4fa4;
    return 0;
  }
                    /* WARNING: Subroutine does not return */
  crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);
}



undefined8 sha224_init(undefined8 *param_1)

{
  if (param_1 != (undefined8 *)0x0) {
    *(undefined4 *)(param_1 + 5) = 0;
    *param_1 = 0;
    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;
    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;
    *(undefined4 *)(param_1 + 2) = 0x3070dd17;
    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;
    *(undefined4 *)(param_1 + 3) = 0xffc00b31;
    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;
    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;
    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;
    return 0;
  }
                    /* WARNING: Subroutine does not return */
  crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);
}


TEST RDI,RDI
JZ 0x001517c5
MOV dword ptr [RDI + 0x28],0x0
MOV qword ptr [RDI],0x0
MOV dword ptr [RDI + 0x8],0xc1059ed8
MOV dword ptr [RDI + 0xc],0x367cd507
MOV dword ptr [RDI + 0x10],0x3070dd17
MOV dword ptr [RDI + 0x14],0xf70e5939
MOV dword ptr [RDI + 0x18],0xffc00b31
MOV dword ptr [RDI + 0x1c],0x68581511
MOV dword ptr [RDI + 0x20],0x64f98fa7
MOV dword ptr [RDI + 0x24],0xbefa4fa4
MOV EAX,0x0
RET
SUB RSP,0x8
MOV EDX,0x2c
LEA RSI,[0x1b1abf]
LEA RDI,[0x1b14b5]
CALL 0x00114260
(translation_unit "undefined8 sha224_init(undefined8 *param_1)\n\n{\n  if (param_1 != (undefined8 *)0x0) {\n    *(undefined4 *)(param_1 + 5) = 0;\n    *param_1 = 0;\n    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;\n    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;\n    *(undefined4 *)(param_1 + 2) = 0x3070dd17;\n    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;\n    *(undefined4 *)(param_1 + 3) = 0xffc00b31;\n    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;\n    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;\n    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;\n    return 0;\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);\n}\n\n" (function_definition "undefined8 sha224_init(undefined8 *param_1)\n\n{\n  if (param_1 != (undefined8 *)0x0) {\n    *(undefined4 *)(param_1 + 5) = 0;\n    *param_1 = 0;\n    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;\n    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;\n    *(undefined4 *)(param_1 + 2) = 0x3070dd17;\n    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;\n    *(undefined4 *)(param_1 + 3) = 0xffc00b31;\n    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;\n    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;\n    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;\n    return 0;\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);\n}" type_identifier (function_declarator "sha224_init(undefined8 *param_1)" identifier (parameter_list "(undefined8 *param_1)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  if (param_1 != (undefined8 *)0x0) {\n    *(undefined4 *)(param_1 + 5) = 0;\n    *param_1 = 0;\n    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;\n    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;\n    *(undefined4 *)(param_1 + 2) = 0x3070dd17;\n    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;\n    *(undefined4 *)(param_1 + 3) = 0xffc00b31;\n    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;\n    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;\n    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;\n    return 0;\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);\n}" { (if_statement "if (param_1 != (undefined8 *)0x0) {\n    *(undefined4 *)(param_1 + 5) = 0;\n    *param_1 = 0;\n    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;\n    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;\n    *(undefined4 *)(param_1 + 2) = 0x3070dd17;\n    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;\n    *(undefined4 *)(param_1 + 3) = 0xffc00b31;\n    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;\n    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;\n    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;\n    return 0;\n  }" if (parenthesized_expression "(param_1 != (undefined8 *)0x0)" ( (binary_expression "param_1 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(undefined4 *)(param_1 + 5) = 0;\n    *param_1 = 0;\n    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;\n    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;\n    *(undefined4 *)(param_1 + 2) = 0x3070dd17;\n    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;\n    *(undefined4 *)(param_1 + 3) = 0xffc00b31;\n    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;\n    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;\n    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;\n    return 0;\n  }" { (expression_statement "*(undefined4 *)(param_1 + 5) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 5) = 0" (pointer_expression "*(undefined4 *)(param_1 + 5)" * (cast_expression "(undefined4 *)(param_1 + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 5)" ( (binary_expression "param_1 + 5" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 1) = 0xc1059ed8;" (assignment_expression "*(undefined4 *)(param_1 + 1) = 0xc1059ed8" (pointer_expression "*(undefined4 *)(param_1 + 1)" * (cast_expression "(undefined4 *)(param_1 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 1)" ( (binary_expression "param_1 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;" (assignment_expression "*(undefined4 *)((long)param_1 + 0xc) = 0x367cd507" (pointer_expression "*(undefined4 *)((long)param_1 + 0xc)" * (cast_expression "(undefined4 *)((long)param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xc)" ( (binary_expression "(long)param_1 + 0xc" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 2) = 0x3070dd17;" (assignment_expression "*(undefined4 *)(param_1 + 2) = 0x3070dd17" (pointer_expression "*(undefined4 *)(param_1 + 2)" * (cast_expression "(undefined4 *)(param_1 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;" (assignment_expression "*(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939" (pointer_expression "*(undefined4 *)((long)param_1 + 0x14)" * (cast_expression "(undefined4 *)((long)param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x14)" ( (binary_expression "(long)param_1 + 0x14" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 3) = 0xffc00b31;" (assignment_expression "*(undefined4 *)(param_1 + 3) = 0xffc00b31" (pointer_expression "*(undefined4 *)(param_1 + 3)" * (cast_expression "(undefined4 *)(param_1 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;" (assignment_expression "*(undefined4 *)((long)param_1 + 0x1c) = 0x68581511" (pointer_expression "*(undefined4 *)((long)param_1 + 0x1c)" * (cast_expression "(undefined4 *)((long)param_1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1c)" ( (binary_expression "(long)param_1 + 0x1c" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = 0x64f98fa7;" (assignment_expression "*(undefined4 *)(param_1 + 4) = 0x64f98fa7" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;" (assignment_expression "*(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4" (pointer_expression "*(undefined4 *)((long)param_1 + 0x24)" * (cast_expression "(undefined4 *)((long)param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x24)" ( (binary_expression "(long)param_1 + 0x24" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) comment (expression_statement "crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);" (call_expression "crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c)" identifier (argument_list "("md != NULL","src/hashes/sha2/sha224.c",0x2c)" ( (string_literal ""md != NULL"" " string_content ") , (string_literal ""src/hashes/sha2/sha224.c"" " string_content ") , number_literal ))) ;) })))
(translation_unit "int sha224_init(hash_state *md)\n\n{\n  if (md != (hash_state *)0x0) {\n    (md->sha256).curlen = 0;\n    (md->chc).length = 0;\n    (md->sha256).state[0] = 0xc1059ed8;\n    (md->sha256).state[1] = 0x367cd507;\n    (md->sha256).state[2] = 0x3070dd17;\n    (md->sha256).state[3] = 0xf70e5939;\n    (md->sha256).state[4] = 0xffc00b31;\n    (md->sha256).state[5] = 0x68581511;\n    (md->sha256).state[6] = 0x64f98fa7;\n    (md->sha256).state[7] = 0xbefa4fa4;\n    return 0;\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);\n}\n\n" (function_definition "int sha224_init(hash_state *md)\n\n{\n  if (md != (hash_state *)0x0) {\n    (md->sha256).curlen = 0;\n    (md->chc).length = 0;\n    (md->sha256).state[0] = 0xc1059ed8;\n    (md->sha256).state[1] = 0x367cd507;\n    (md->sha256).state[2] = 0x3070dd17;\n    (md->sha256).state[3] = 0xf70e5939;\n    (md->sha256).state[4] = 0xffc00b31;\n    (md->sha256).state[5] = 0x68581511;\n    (md->sha256).state[6] = 0x64f98fa7;\n    (md->sha256).state[7] = 0xbefa4fa4;\n    return 0;\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);\n}" primitive_type (function_declarator "sha224_init(hash_state *md)" identifier (parameter_list "(hash_state *md)" ( (parameter_declaration "hash_state *md" type_identifier (pointer_declarator "*md" * identifier)) ))) (compound_statement "{\n  if (md != (hash_state *)0x0) {\n    (md->sha256).curlen = 0;\n    (md->chc).length = 0;\n    (md->sha256).state[0] = 0xc1059ed8;\n    (md->sha256).state[1] = 0x367cd507;\n    (md->sha256).state[2] = 0x3070dd17;\n    (md->sha256).state[3] = 0xf70e5939;\n    (md->sha256).state[4] = 0xffc00b31;\n    (md->sha256).state[5] = 0x68581511;\n    (md->sha256).state[6] = 0x64f98fa7;\n    (md->sha256).state[7] = 0xbefa4fa4;\n    return 0;\n  }\n                    /* WARNING: Subroutine does not return */\n  crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);\n}" { (if_statement "if (md != (hash_state *)0x0) {\n    (md->sha256).curlen = 0;\n    (md->chc).length = 0;\n    (md->sha256).state[0] = 0xc1059ed8;\n    (md->sha256).state[1] = 0x367cd507;\n    (md->sha256).state[2] = 0x3070dd17;\n    (md->sha256).state[3] = 0xf70e5939;\n    (md->sha256).state[4] = 0xffc00b31;\n    (md->sha256).state[5] = 0x68581511;\n    (md->sha256).state[6] = 0x64f98fa7;\n    (md->sha256).state[7] = 0xbefa4fa4;\n    return 0;\n  }" if (parenthesized_expression "(md != (hash_state *)0x0)" ( (binary_expression "md != (hash_state *)0x0" identifier != (cast_expression "(hash_state *)0x0" ( (type_descriptor "hash_state *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (md->sha256).curlen = 0;\n    (md->chc).length = 0;\n    (md->sha256).state[0] = 0xc1059ed8;\n    (md->sha256).state[1] = 0x367cd507;\n    (md->sha256).state[2] = 0x3070dd17;\n    (md->sha256).state[3] = 0xf70e5939;\n    (md->sha256).state[4] = 0xffc00b31;\n    (md->sha256).state[5] = 0x68581511;\n    (md->sha256).state[6] = 0x64f98fa7;\n    (md->sha256).state[7] = 0xbefa4fa4;\n    return 0;\n  }" { (expression_statement "(md->sha256).curlen = 0;" (assignment_expression "(md->sha256).curlen = 0" (field_expression "(md->sha256).curlen" (parenthesized_expression "(md->sha256)" ( (field_expression "md->sha256" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(md->chc).length = 0;" (assignment_expression "(md->chc).length = 0" (field_expression "(md->chc).length" (parenthesized_expression "(md->chc)" ( (field_expression "md->chc" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(md->sha256).state[0] = 0xc1059ed8;" (assignment_expression "(md->sha256).state[0] = 0xc1059ed8" (subscript_expression "(md->sha256).state[0]" (field_expression "(md->sha256).state" (parenthesized_expression "(md->sha256)" ( (field_expression "md->sha256" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "(md->sha256).state[1] = 0x367cd507;" (assignment_expression "(md->sha256).state[1] = 0x367cd507" (subscript_expression "(md->sha256).state[1]" (field_expression "(md->sha256).state" (parenthesized_expression "(md->sha256)" ( (field_expression "md->sha256" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "(md->sha256).state[2] = 0x3070dd17;" (assignment_expression "(md->sha256).state[2] = 0x3070dd17" (subscript_expression "(md->sha256).state[2]" (field_expression "(md->sha256).state" (parenthesized_expression "(md->sha256)" ( (field_expression "md->sha256" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "(md->sha256).state[3] = 0xf70e5939;" (assignment_expression "(md->sha256).state[3] = 0xf70e5939" (subscript_expression "(md->sha256).state[3]" (field_expression "(md->sha256).state" (parenthesized_expression "(md->sha256)" ( (field_expression "md->sha256" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "(md->sha256).state[4] = 0xffc00b31;" (assignment_expression "(md->sha256).state[4] = 0xffc00b31" (subscript_expression "(md->sha256).state[4]" (field_expression "(md->sha256).state" (parenthesized_expression "(md->sha256)" ( (field_expression "md->sha256" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "(md->sha256).state[5] = 0x68581511;" (assignment_expression "(md->sha256).state[5] = 0x68581511" (subscript_expression "(md->sha256).state[5]" (field_expression "(md->sha256).state" (parenthesized_expression "(md->sha256)" ( (field_expression "md->sha256" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "(md->sha256).state[6] = 0x64f98fa7;" (assignment_expression "(md->sha256).state[6] = 0x64f98fa7" (subscript_expression "(md->sha256).state[6]" (field_expression "(md->sha256).state" (parenthesized_expression "(md->sha256)" ( (field_expression "md->sha256" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "(md->sha256).state[7] = 0xbefa4fa4;" (assignment_expression "(md->sha256).state[7] = 0xbefa4fa4" (subscript_expression "(md->sha256).state[7]" (field_expression "(md->sha256).state" (parenthesized_expression "(md->sha256)" ( (field_expression "md->sha256" identifier -> field_identifier) )) . field_identifier) [ number_literal ]) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) comment (expression_statement "crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);" (call_expression "crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c)" identifier (argument_list "("md != NULL","src/hashes/sha2/sha224.c",0x2c)" ( (string_literal ""md != NULL"" " string_content ") , (string_literal ""src/hashes/sha2/sha224.c"" " string_content ") , number_literal ))) ;) })))
(translation_unit "undefined8 sha224_init(undefined8 *param_1)\n\n{\n  if (param_1 != (undefined8 *)0x0) {\n    *(undefined4 *)(param_1 + 5) = 0;\n    *param_1 = 0;\n    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;\n    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;\n    *(undefined4 *)(param_1 + 2) = 0x3070dd17;\n    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;\n    *(undefined4 *)(param_1 + 3) = 0xffc00b31;\n    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;\n    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;\n    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;\n    return 0;\n  }\n                    \n  crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);\n}\n\n" (function_definition "undefined8 sha224_init(undefined8 *param_1)\n\n{\n  if (param_1 != (undefined8 *)0x0) {\n    *(undefined4 *)(param_1 + 5) = 0;\n    *param_1 = 0;\n    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;\n    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;\n    *(undefined4 *)(param_1 + 2) = 0x3070dd17;\n    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;\n    *(undefined4 *)(param_1 + 3) = 0xffc00b31;\n    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;\n    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;\n    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;\n    return 0;\n  }\n                    \n  crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);\n}" type_identifier (function_declarator "sha224_init(undefined8 *param_1)" identifier (parameter_list "(undefined8 *param_1)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  if (param_1 != (undefined8 *)0x0) {\n    *(undefined4 *)(param_1 + 5) = 0;\n    *param_1 = 0;\n    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;\n    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;\n    *(undefined4 *)(param_1 + 2) = 0x3070dd17;\n    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;\n    *(undefined4 *)(param_1 + 3) = 0xffc00b31;\n    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;\n    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;\n    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;\n    return 0;\n  }\n                    \n  crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);\n}" { (if_statement "if (param_1 != (undefined8 *)0x0) {\n    *(undefined4 *)(param_1 + 5) = 0;\n    *param_1 = 0;\n    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;\n    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;\n    *(undefined4 *)(param_1 + 2) = 0x3070dd17;\n    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;\n    *(undefined4 *)(param_1 + 3) = 0xffc00b31;\n    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;\n    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;\n    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;\n    return 0;\n  }" if (parenthesized_expression "(param_1 != (undefined8 *)0x0)" ( (binary_expression "param_1 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(undefined4 *)(param_1 + 5) = 0;\n    *param_1 = 0;\n    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;\n    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;\n    *(undefined4 *)(param_1 + 2) = 0x3070dd17;\n    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;\n    *(undefined4 *)(param_1 + 3) = 0xffc00b31;\n    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;\n    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;\n    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;\n    return 0;\n  }" { (expression_statement "*(undefined4 *)(param_1 + 5) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 5) = 0" (pointer_expression "*(undefined4 *)(param_1 + 5)" * (cast_expression "(undefined4 *)(param_1 + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 5)" ( (binary_expression "param_1 + 5" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 1) = 0xc1059ed8;" (assignment_expression "*(undefined4 *)(param_1 + 1) = 0xc1059ed8" (pointer_expression "*(undefined4 *)(param_1 + 1)" * (cast_expression "(undefined4 *)(param_1 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 1)" ( (binary_expression "param_1 + 1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;" (assignment_expression "*(undefined4 *)((long)param_1 + 0xc) = 0x367cd507" (pointer_expression "*(undefined4 *)((long)param_1 + 0xc)" * (cast_expression "(undefined4 *)((long)param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xc)" ( (binary_expression "(long)param_1 + 0xc" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 2) = 0x3070dd17;" (assignment_expression "*(undefined4 *)(param_1 + 2) = 0x3070dd17" (pointer_expression "*(undefined4 *)(param_1 + 2)" * (cast_expression "(undefined4 *)(param_1 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;" (assignment_expression "*(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939" (pointer_expression "*(undefined4 *)((long)param_1 + 0x14)" * (cast_expression "(undefined4 *)((long)param_1 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x14)" ( (binary_expression "(long)param_1 + 0x14" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 3) = 0xffc00b31;" (assignment_expression "*(undefined4 *)(param_1 + 3) = 0xffc00b31" (pointer_expression "*(undefined4 *)(param_1 + 3)" * (cast_expression "(undefined4 *)(param_1 + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 3)" ( (binary_expression "param_1 + 3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;" (assignment_expression "*(undefined4 *)((long)param_1 + 0x1c) = 0x68581511" (pointer_expression "*(undefined4 *)((long)param_1 + 0x1c)" * (cast_expression "(undefined4 *)((long)param_1 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x1c)" ( (binary_expression "(long)param_1 + 0x1c" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 4) = 0x64f98fa7;" (assignment_expression "*(undefined4 *)(param_1 + 4) = 0x64f98fa7" (pointer_expression "*(undefined4 *)(param_1 + 4)" * (cast_expression "(undefined4 *)(param_1 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;" (assignment_expression "*(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4" (pointer_expression "*(undefined4 *)((long)param_1 + 0x24)" * (cast_expression "(undefined4 *)((long)param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0x24)" ( (binary_expression "(long)param_1 + 0x24" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);" (call_expression "crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c)" identifier (argument_list "("md != NULL","src/hashes/sha2/sha224.c",0x2c)" ( (string_literal ""md != NULL"" " string_content ") , (string_literal ""src/hashes/sha2/sha224.c"" " string_content ") , number_literal ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = LIT) ;) (return_statement return LIT ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT ))) ;) })))
(function_definition "undefined8 sha224_init(undefined8 *param_1)\n\n{\n  if (param_1 != (undefined8 *)0x0) {\n    *(undefined4 *)(param_1 + 5) = 0;\n    *param_1 = 0;\n    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;\n    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;\n    *(undefined4 *)(param_1 + 2) = 0x3070dd17;\n    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;\n    *(undefined4 *)(param_1 + 3) = 0xffc00b31;\n    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;\n    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;\n    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;\n    return 0;\n  }\n                    \n  crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);\n}" (type_identifier "undefined8") (function_declarator "sha224_init(undefined8 *param_1)" (identifier "sha224_init") (parameter_list "(undefined8 *param_1)" (( "(") (parameter_declaration "undefined8 *param_1" (type_identifier "undefined8") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  if (param_1 != (undefined8 *)0x0) {\n    *(undefined4 *)(param_1 + 5) = 0;\n    *param_1 = 0;\n    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;\n    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;\n    *(undefined4 *)(param_1 + 2) = 0x3070dd17;\n    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;\n    *(undefined4 *)(param_1 + 3) = 0xffc00b31;\n    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;\n    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;\n    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;\n    return 0;\n  }\n                    \n  crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);\n}" ({ "{") (if_statement "if (param_1 != (undefined8 *)0x0) {\n    *(undefined4 *)(param_1 + 5) = 0;\n    *param_1 = 0;\n    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;\n    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;\n    *(undefined4 *)(param_1 + 2) = 0x3070dd17;\n    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;\n    *(undefined4 *)(param_1 + 3) = 0xffc00b31;\n    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;\n    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;\n    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;\n    return 0;\n  }" (if "if") (parenthesized_expression "(param_1 != (undefined8 *)0x0)" (( "(") (binary_expression "param_1 != (undefined8 *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *(undefined4 *)(param_1 + 5) = 0;\n    *param_1 = 0;\n    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;\n    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;\n    *(undefined4 *)(param_1 + 2) = 0x3070dd17;\n    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;\n    *(undefined4 *)(param_1 + 3) = 0xffc00b31;\n    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;\n    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;\n    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;\n    return 0;\n  }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 5) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 5) = 0" (pointer_expression "*(undefined4 *)(param_1 + 5)" (* "*") (cast_expression "(undefined4 *)(param_1 + 5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 5)" (( "(") (binary_expression "param_1 + 5" (identifier "param_1") (+ "+") (number_literal "5")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 1) = 0xc1059ed8;" (assignment_expression "*(undefined4 *)(param_1 + 1) = 0xc1059ed8" (pointer_expression "*(undefined4 *)(param_1 + 1)" (* "*") (cast_expression "(undefined4 *)(param_1 + 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 1)" (( "(") (binary_expression "param_1 + 1" (identifier "param_1") (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0xc1059ed8")) (; ";")) (expression_statement "*(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;" (assignment_expression "*(undefined4 *)((long)param_1 + 0xc) = 0x367cd507" (pointer_expression "*(undefined4 *)((long)param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)((long)param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xc)" (( "(") (binary_expression "(long)param_1 + 0xc" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0x367cd507")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 2) = 0x3070dd17;" (assignment_expression "*(undefined4 *)(param_1 + 2) = 0x3070dd17" (pointer_expression "*(undefined4 *)(param_1 + 2)" (* "*") (cast_expression "(undefined4 *)(param_1 + 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (= "=") (number_literal "0x3070dd17")) (; ";")) (expression_statement "*(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;" (assignment_expression "*(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939" (pointer_expression "*(undefined4 *)((long)param_1 + 0x14)" (* "*") (cast_expression "(undefined4 *)((long)param_1 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x14)" (( "(") (binary_expression "(long)param_1 + 0x14" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "0xf70e5939")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 3) = 0xffc00b31;" (assignment_expression "*(undefined4 *)(param_1 + 3) = 0xffc00b31" (pointer_expression "*(undefined4 *)(param_1 + 3)" (* "*") (cast_expression "(undefined4 *)(param_1 + 3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 3)" (( "(") (binary_expression "param_1 + 3" (identifier "param_1") (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "0xffc00b31")) (; ";")) (expression_statement "*(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;" (assignment_expression "*(undefined4 *)((long)param_1 + 0x1c) = 0x68581511" (pointer_expression "*(undefined4 *)((long)param_1 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((long)param_1 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x1c)" (( "(") (binary_expression "(long)param_1 + 0x1c" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (number_literal "0x68581511")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 4) = 0x64f98fa7;" (assignment_expression "*(undefined4 *)(param_1 + 4) = 0x64f98fa7" (pointer_expression "*(undefined4 *)(param_1 + 4)" (* "*") (cast_expression "(undefined4 *)(param_1 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0x64f98fa7")) (; ";")) (expression_statement "*(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;" (assignment_expression "*(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4" (pointer_expression "*(undefined4 *)((long)param_1 + 0x24)" (* "*") (cast_expression "(undefined4 *)((long)param_1 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0x24)" (( "(") (binary_expression "(long)param_1 + 0x24" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0x24")) () ")")))) (= "=") (number_literal "0xbefa4fa4")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);" (call_expression "crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c)" (identifier "crypt_argchk") (argument_list "("md != NULL","src/hashes/sha2/sha224.c",0x2c)" (( "(") (string_literal ""md != NULL"" (" """) (string_content "md != NULL") (" """)) (, ",") (string_literal ""src/hashes/sha2/sha224.c"" (" """) (string_content "src/hashes/sha2/sha224.c") (" """)) (, ",") (number_literal "0x2c") () ")"))) (; ";")) (} "}")))

int function_1(type_1 *var_1)

{
  if (var_1 != (type_1 *)0x0) {
    (var_1->sha256).curlen = 0;
    (var_1->chc).length = 0;
    (var_1->sha256).state[0] = 0xc1059ed8;
    (var_1->sha256).state[1] = 0x367cd507;
    (var_1->sha256).state[2] = 0x3070dd17;
    (var_1->sha256).state[3] = 0xf70e5939;
    (var_1->sha256).state[4] = 0xffc00b31;
    (var_1->sha256).state[5] = 0x68581511;
    (var_1->sha256).state[6] = 0x64f98fa7;
    (var_1->sha256).state[7] = 0xbefa4fa4;
    return 0;
  }
                    /* WARNING: Subroutine does not return */
  var_2("md != NULL","src/hashes/sha2/sha224.c",0x2c);
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (return_statement (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal)))))))

undefined8 MASKED(undefined8 *param_1)

{
  if (param_1 != (undefined8 *)0x0) {
    *(undefined4 *)(param_1 + 5) = 0;
    *param_1 = 0;
    *(undefined4 *)(param_1 + 1) = 0xc1059ed8;
    *(undefined4 *)((long)param_1 + 0xc) = 0x367cd507;
    *(undefined4 *)(param_1 + 2) = 0x3070dd17;
    *(undefined4 *)((long)param_1 + 0x14) = 0xf70e5939;
    *(undefined4 *)(param_1 + 3) = 0xffc00b31;
    *(undefined4 *)((long)param_1 + 0x1c) = 0x68581511;
    *(undefined4 *)(param_1 + 4) = 0x64f98fa7;
    *(undefined4 *)((long)param_1 + 0x24) = 0xbefa4fa4;
    return 0;
  }
                    /* WARNING: Subroutine does not return */
  crypt_argchk("md != NULL","src/hashes/sha2/sha224.c",0x2c);
}

