LLVMFuzzerTestOneInput:
   42|    262|extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   43|       |
   44|    262|  if (!size)
  ------------------
  |  Branch (44:7): [True: 0, False: 262]
  ------------------
   45|      0|    return 0;
   46|       |
   47|    262|  FuzzedDataProvider stream(data, size);
   48|    262|  hash_state *hs;
   49|    262|  if (init(&hs))
  ------------------
  |  |   28|    262|#define init CONCAT_TYPE(_init)
  |  |  ------------------
  |  |  |  |   26|    262|#define CONCAT_TYPE(x) _PASTE2(HASHTYPE, x)
  |  |  |  |  ------------------
  |  |  |  |  |  |   33|    262|#define _PASTE2(x,y) _PASTE(x,y)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|    262|#define _PASTE(x,y) x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (49:7): [True: 0, False: 262]
  ------------------
   50|      0|    return 0;
   51|       |
   52|  1.42k|  while (stream.remaining_bytes()) {
  ------------------
  |  Branch (52:10): [True: 1.30k, False: 122]
  ------------------
   53|  1.30k|    size_t num_bytes = stream.ConsumeIntegral<size_t>();
   54|  1.30k|    std::vector<uint8_t> buffer = stream.ConsumeBytes<uint8_t>(num_bytes);
   55|       |
   56|  1.30k|    if (update(hs, buffer.data(), buffer.size()))
  ------------------
  |  |   29|  1.30k|#define update CONCAT_TYPE(_update)
  |  |  ------------------
  |  |  |  |   26|  1.30k|#define CONCAT_TYPE(x) _PASTE2(HASHTYPE, x)
  |  |  |  |  ------------------
  |  |  |  |  |  |   33|  1.30k|#define _PASTE2(x,y) _PASTE(x,y)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|  1.30k|#define _PASTE(x,y) x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (56:9): [True: 140, False: 1.16k]
  ------------------
   57|    140|      goto error;
   58|  1.30k|  }
   59|       |
   60|    122|  uint8_t result[DIGEST_SIZE];
   61|       |
   62|    122|#ifndef DIGEST_THIRD_PARAM
   63|    122|  digest(hs, result);
  ------------------
  |  |   30|    122|#define digest CONCAT_TYPE(_digest)
  |  |  ------------------
  |  |  |  |   26|    122|#define CONCAT_TYPE(x) _PASTE2(HASHTYPE, x)
  |  |  |  |  ------------------
  |  |  |  |  |  |   33|    122|#define _PASTE2(x,y) _PASTE(x,y)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|    122|#define _PASTE(x,y) x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   64|       |#else
   65|       |  digest(hs, result, DIGEST_SIZE);
   66|       |#endif
   67|       |
   68|    262|error:
   69|    262|  destroy(hs);
  ------------------
  |  |   31|    262|#define destroy CONCAT_TYPE(_destroy)
  |  |  ------------------
  |  |  |  |   26|    262|#define CONCAT_TYPE(x) _PASTE2(HASHTYPE, x)
  |  |  |  |  ------------------
  |  |  |  |  |  |   33|    262|#define _PASTE2(x,y) _PASTE(x,y)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|    262|#define _PASTE(x,y) x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   70|    262|  return 0;
   71|    122|}

_Z8md4_initPP10hash_state:
   48|    262|{
   49|    262|    hash_state *hs;
   50|       |    
   51|    262|    if (NULL == md4State) {
  ------------------
  |  Branch (51:9): [True: 0, False: 262]
  ------------------
   52|      0|        return ERR_NULL;
  ------------------
  |  |    5|      0|#define ERR_NULL                1
  ------------------
   53|      0|    }
   54|       |
   55|    262|    *md4State = hs = (hash_state*) calloc(1, sizeof(hash_state));
   56|    262|    if (NULL == hs)
  ------------------
  |  Branch (56:9): [True: 0, False: 262]
  ------------------
   57|      0|        return ERR_MEMORY;
  ------------------
  |  |    6|      0|#define ERR_MEMORY              2
  ------------------
   58|       | 
   59|    262|    hs->A=0x67452301;
   60|    262|    hs->B=0xefcdab89;
   61|    262|    hs->C=0x98badcfe;
   62|    262|    hs->D=0x10325476;
   63|       |
   64|    262|    return 0;
   65|    262|}
_Z11md4_destroyP10hash_state:
   68|    262|{
   69|    262|    free(hs);
   70|    262|    return 0;
   71|    262|}
_Z10md4_updateP10hash_statePKhm:
   84|  1.54k|{
   85|  1.54k|    unsigned count;
   86|       |
   87|  1.54k|    if (NULL == hs || NULL == buf) {
  ------------------
  |  Branch (87:9): [True: 0, False: 1.54k]
  |  Branch (87:23): [True: 140, False: 1.40k]
  ------------------
   88|    140|        return ERR_NULL;
  ------------------
  |  |    5|    140|#define ERR_NULL                1
  ------------------
   89|    140|    }
   90|       |
   91|       |    /*
   92|       |     * Read the position in buf[] only once, and check it: if several
   93|       |     * threads used the object at once (not supported), the state could
   94|       |     * be inconsistent, but buf[] must never overflow.
   95|       |     */
   96|  1.40k|    count = hs->count;
   97|  1.40k|    if (count >= 64) {
  ------------------
  |  Branch (97:9): [True: 0, False: 1.40k]
  ------------------
   98|      0|        return ERR_STATE;
  ------------------
  |  |   26|      0|#define ERR_STATE               20
  ------------------
   99|      0|    }
  100|       |
  101|  1.40k|    hs->bitlen += (uint64_t)len * 8;
  102|       |
  103|   247k|    while (len>0)  {
  ------------------
  |  Branch (103:12): [True: 246k, False: 1.40k]
  ------------------
  104|   246k|        unsigned left, tc;
  105|       |
  106|   246k|        left = 64 - count;
  107|   246k|        tc = (unsigned)MIN(left, len);
  ------------------
  |  |   29|   246k|#define MIN(a,b) ((a)<(b)?(a):(b))
  |  |  ------------------
  |  |  |  Branch (29:19): [True: 244k, False: 1.40k]
  |  |  ------------------
  ------------------
  108|   246k|        memcpy(hs->buf+count, buf, tc);
  109|   246k|        count += tc;
  110|   246k|        buf += tc;
  111|   246k|        len -= tc;
  112|       |
  113|   246k|        if (count==64)  {
  ------------------
  |  Branch (113:13): [True: 244k, False: 1.18k]
  ------------------
  114|   244k|            uint32_t X[16], A, B, C, D;
  115|   244k|            unsigned j;
  116|       |            
  117|   244k|            count=0;
  118|  4.16M|            for(j=0; j<16; j++) {
  ------------------
  |  Branch (118:22): [True: 3.91M, False: 244k]
  ------------------
  119|  3.91M|                X[j] = LOAD_U32_LITTLE(&hs->buf[j*4]);
  ------------------
  |  |   69|  3.91M|#define LOAD_U32_LITTLE(p) load_u8to32_little(p)
  ------------------
  120|  3.91M|            }
  121|       |
  122|   244k|            A=hs->A; B=hs->B; C=hs->C; D=hs->D;
  123|       |
  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  125|   244k|            function(A,B,C,D, 0, 3);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  126|   244k|            function(D,A,B,C, 1, 7);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  127|   244k|            function(C,D,A,B, 2,11);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  128|   244k|            function(B,C,D,A, 3,19);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  129|   244k|            function(A,B,C,D, 4, 3);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  130|   244k|            function(D,A,B,C, 5, 7);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  131|   244k|            function(C,D,A,B, 6,11);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  132|   244k|            function(B,C,D,A, 7,19);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  133|   244k|            function(A,B,C,D, 8, 3);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  134|   244k|            function(D,A,B,C, 9, 7);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  135|   244k|            function(C,D,A,B,10,11);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  136|   244k|            function(B,C,D,A,11,19);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  137|   244k|            function(A,B,C,D,12, 3);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  138|   244k|            function(D,A,B,C,13, 7);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  139|   244k|            function(C,D,A,B,14,11);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  140|   244k|            function(B,C,D,A,15,19);
  ------------------
  |  |  124|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  141|       |
  142|   244k|#undef function   
  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  144|   244k|            function(A,B,C,D, 0, 3);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  145|   244k|            function(D,A,B,C, 4, 5);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  146|   244k|            function(C,D,A,B, 8, 9);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  147|   244k|            function(B,C,D,A,12,13);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  148|   244k|            function(A,B,C,D, 1, 3);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  149|   244k|            function(D,A,B,C, 5, 5);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  150|   244k|            function(C,D,A,B, 9, 9);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  151|   244k|            function(B,C,D,A,13,13);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  152|   244k|            function(A,B,C,D, 2, 3);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  153|   244k|            function(D,A,B,C, 6, 5);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  154|   244k|            function(C,D,A,B,10, 9);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  155|   244k|            function(B,C,D,A,14,13);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  156|   244k|            function(A,B,C,D, 3, 3);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  157|   244k|            function(D,A,B,C, 7, 5);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  158|   244k|            function(C,D,A,B,11, 9);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  159|   244k|            function(B,C,D,A,15,13);
  ------------------
  |  |  143|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  160|       |
  161|   244k|#undef function  
  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  163|   244k|            function(A,B,C,D, 0, 3);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  164|   244k|            function(D,A,B,C, 8, 9);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  165|   244k|            function(C,D,A,B, 4,11);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  166|   244k|            function(B,C,D,A,12,15);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  167|   244k|            function(A,B,C,D, 2, 3);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  168|   244k|            function(D,A,B,C,10, 9);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  169|   244k|            function(C,D,A,B, 6,11);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  170|   244k|            function(B,C,D,A,14,15);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  171|   244k|            function(A,B,C,D, 1, 3);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  172|   244k|            function(D,A,B,C, 9, 9);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  173|   244k|            function(C,D,A,B, 5,11);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  174|   244k|            function(B,C,D,A,13,15);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  175|   244k|            function(A,B,C,D, 3, 3);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  176|   244k|            function(D,A,B,C,11, 9);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  177|   244k|            function(C,D,A,B, 7,11);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  178|   244k|            function(B,C,D,A,15,15);
  ------------------
  |  |  162|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  |  |  ------------------
  |  |  |  |   45|   244k|#define ROL(x, n) (((x) << n) | ((x) >> (32-n) ))
  |  |  ------------------
  ------------------
  179|       |
  180|   244k|            hs->A+=A; hs->B+=B; hs->C+=C; hs->D+=D;
  181|   244k|        }
  182|   246k|    }
  183|       |
  184|  1.40k|    hs->count = count;
  185|  1.40k|    return 0;
  186|  1.40k|}
_Z10md4_digestPK10hash_statePh:
  189|    122|{
  190|    122|    uint8_t s[8];
  191|    122|    uint32_t padlen;
  192|    122|    hash_state temp;
  193|    122|    unsigned i;
  194|    122|    uint64_t bitlen;
  195|       |
  196|    122|    static const uint8_t padding[64] = {
  197|    122|        0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  198|    122|        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  199|    122|        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  200|    122|        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  201|    122|        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  202|    122|        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  203|    122|        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  204|    122|        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  205|    122|    };
  206|       |
  207|    122|    if (NULL==hs || NULL==digest)
  ------------------
  |  |   30|    122|#define digest CONCAT_TYPE(_digest)
  |  |  ------------------
  |  |  |  |   26|    122|#define CONCAT_TYPE(x) _PASTE2(HASHTYPE, x)
  |  |  |  |  ------------------
  |  |  |  |  |  |   33|    122|#define _PASTE2(x,y) _PASTE(x,y)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|    122|#define _PASTE(x,y) x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (207:9): [True: 0, False: 122]
  |  Branch (207:21): [True: 0, False: 122]
  ------------------
  208|      0|        return ERR_NULL;
  ------------------
  |  |    5|      0|#define ERR_NULL                1
  ------------------
  209|       |
  210|    122|    temp = *hs;
  211|       |    /* temp is a private copy, but it may come from an inconsistent state */
  212|    122|    if (temp.count >= 64)
  ------------------
  |  Branch (212:9): [True: 0, False: 122]
  ------------------
  213|      0|        return ERR_STATE;
  ------------------
  |  |   26|      0|#define ERR_STATE               20
  ------------------
  214|       |
  215|    122|    bitlen = temp.bitlen;   /* Save current length */
  216|       |
  217|    122|    padlen= (56<=temp.count) ? 56-temp.count+64: 56-temp.count;
  ------------------
  |  Branch (217:13): [True: 57, False: 65]
  ------------------
  218|    122|    md4_update(&temp, padding, padlen);
  219|       |
  220|  1.09k|    for (i=0; i<8; i++)
  ------------------
  |  Branch (220:15): [True: 976, False: 122]
  ------------------
  221|    976|        s[i] = (uint8_t)(bitlen >> (i*8));
  222|    122|    md4_update(&temp, s, 8);
  223|       |
  224|    122|    STORE_U32_LITTLE(&digest[0], temp.A);
  ------------------
  |  |   72|    122|#define STORE_U32_LITTLE(p, w) u32to8_little((p), &(w))
  ------------------
  225|    122|    STORE_U32_LITTLE(&digest[4], temp.B);
  ------------------
  |  |   72|    122|#define STORE_U32_LITTLE(p, w) u32to8_little((p), &(w))
  ------------------
  226|    122|    STORE_U32_LITTLE(&digest[8], temp.C);
  ------------------
  |  |   72|    122|#define STORE_U32_LITTLE(p, w) u32to8_little((p), &(w))
  ------------------
  227|    122|    STORE_U32_LITTLE(&digest[12], temp.D);
  ------------------
  |  |   72|    122|#define STORE_U32_LITTLE(p, w) u32to8_little((p), &(w))
  ------------------
  228|       |
  229|    122|    return 0;
  230|    122|}

pcd_hash_fuzzer.cc:_ZL18load_u8to32_littlePKh:
   54|  3.91M|{
   55|  3.91M|    uint32_t w;
   56|       |
   57|  3.91M|    u8to32_little(&w, p);
   58|  3.91M|    return w;
   59|  3.91M|}
pcd_hash_fuzzer.cc:_ZL13u8to32_littlePjPKh:
   24|  3.91M|{
   25|       |#ifdef PYCRYPTO_LITTLE_ENDIAN
   26|       |    memcpy(w, p, 4);
   27|       |#else
   28|  3.91M|    *w = (uint32_t)p[0] | (uint32_t)p[1]<<8 | (uint32_t)p[2]<<16 | (uint32_t)p[3]<<24;
   29|  3.91M|#endif
   30|  3.91M|}
pcd_hash_fuzzer.cc:_ZL13u32to8_littlePhPKj:
   12|    488|{
   13|       |#ifdef PYCRYPTO_LITTLE_ENDIAN
   14|       |    memcpy(p, w, 4);
   15|       |#else
   16|    488|    p[0] = (uint8_t)*w;
   17|    488|    p[1] = (uint8_t)(*w >> 8);
   18|    488|    p[2] = (uint8_t)(*w >> 16);
   19|    488|    p[3] = (uint8_t)(*w >> 24);
   20|    488|#endif
   21|    488|}

