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)
  |  |  |  |  ------------------
  |  |  |  |  |  |   59|    262|#define _PASTE2(x,y) _PASTE(x,y)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   58|    262|#define _PASTE(x,y) x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (49:7): [True: 0, False: 262]
  ------------------
   50|      0|    return 0;
   51|       |
   52|  1.34k|  while (stream.remaining_bytes()) {
  ------------------
  |  Branch (52:10): [True: 1.22k, False: 119]
  ------------------
   53|  1.22k|    size_t num_bytes = stream.ConsumeIntegral<size_t>();
   54|  1.22k|    std::vector<uint8_t> buffer = stream.ConsumeBytes<uint8_t>(num_bytes);
   55|       |
   56|  1.22k|    if (update(hs, buffer.data(), buffer.size()))
  ------------------
  |  |   29|  1.22k|#define update CONCAT_TYPE(_update)
  |  |  ------------------
  |  |  |  |   26|  1.22k|#define CONCAT_TYPE(x) _PASTE2(HASHTYPE, x)
  |  |  |  |  ------------------
  |  |  |  |  |  |   59|  1.22k|#define _PASTE2(x,y) _PASTE(x,y)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   58|  1.22k|#define _PASTE(x,y) x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (56:9): [True: 143, False: 1.08k]
  ------------------
   57|    143|      goto error;
   58|  1.22k|  }
   59|       |
   60|    119|  uint8_t result[DIGEST_SIZE];
   61|       |
   62|    119|#ifndef DIGEST_THIRD_PARAM
   63|    119|  digest(hs, result);
  ------------------
  |  |   30|    119|#define digest CONCAT_TYPE(_digest)
  |  |  ------------------
  |  |  |  |   26|    119|#define CONCAT_TYPE(x) _PASTE2(HASHTYPE, x)
  |  |  |  |  ------------------
  |  |  |  |  |  |   59|    119|#define _PASTE2(x,y) _PASTE(x,y)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   58|    119|#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)
  |  |  |  |  ------------------
  |  |  |  |  |  |   59|    262|#define _PASTE2(x,y) _PASTE(x,y)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   58|    262|#define _PASTE(x,y) x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   70|    262|  return 0;
   71|    119|}

_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.46k|{
   85|  1.46k|    if (NULL == hs || NULL == buf) {
  ------------------
  |  Branch (85:9): [True: 0, False: 1.46k]
  |  Branch (85:23): [True: 143, False: 1.31k]
  ------------------
   86|    143|        return ERR_NULL;
  ------------------
  |  |    5|    143|#define ERR_NULL                1
  ------------------
   87|    143|    }
   88|       |
   89|  1.46k|    assert(hs->count < 64);
  ------------------
  |  Branch (89:5): [True: 1.31k, False: 0]
  ------------------
   90|       |
   91|  1.31k|    hs->bitlen += (uint64_t)len * 8;
   92|       |
   93|   247k|    while (len>0)  {
  ------------------
  |  Branch (93:12): [True: 246k, False: 1.31k]
  ------------------
   94|   246k|        unsigned left, tc;
   95|       |
   96|   246k|        left = 64 - hs->count;
   97|   246k|        tc = (unsigned)MIN(left, len);
  ------------------
  |  |   55|   246k|#define MIN(a,b) ((a)<(b)?(a):(b))
  |  |  ------------------
  |  |  |  Branch (55:19): [True: 244k, False: 1.31k]
  |  |  ------------------
  ------------------
   98|   246k|        memcpy(hs->buf+hs->count, buf, tc);
   99|   246k|        hs->count += tc;
  100|   246k|        buf += tc;
  101|   246k|        len -= tc;
  102|       |
  103|   246k|        if (hs->count==64)  {
  ------------------
  |  Branch (103:13): [True: 244k, False: 1.18k]
  ------------------
  104|   244k|            uint32_t X[16], A, B, C, D;
  105|   244k|            unsigned j;
  106|       |            
  107|   244k|            hs->count=0;
  108|  4.16M|            for(j=0; j<16; j++) {
  ------------------
  |  Branch (108:22): [True: 3.91M, False: 244k]
  ------------------
  109|  3.91M|                X[j] = LOAD_U32_LITTLE(&hs->buf[j*4]);
  ------------------
  |  |   95|  3.91M|#define LOAD_U32_LITTLE(p) load_u8to32_little(p)
  ------------------
  110|  3.91M|            }
  111|       |
  112|   244k|            A=hs->A; B=hs->B; C=hs->C; D=hs->D;
  113|       |
  114|   244k|#define function(a,b,c,d,k,s) a=ROL(a+F(b,c,d)+X[k],s);  
  115|   244k|            function(A,B,C,D, 0, 3);
  ------------------
  |  |  114|   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) ))
  |  |  ------------------
  ------------------
  116|   244k|            function(D,A,B,C, 1, 7);
  ------------------
  |  |  114|   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) ))
  |  |  ------------------
  ------------------
  117|   244k|            function(C,D,A,B, 2,11);
  ------------------
  |  |  114|   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) ))
  |  |  ------------------
  ------------------
  118|   244k|            function(B,C,D,A, 3,19);
  ------------------
  |  |  114|   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) ))
  |  |  ------------------
  ------------------
  119|   244k|            function(A,B,C,D, 4, 3);
  ------------------
  |  |  114|   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) ))
  |  |  ------------------
  ------------------
  120|   244k|            function(D,A,B,C, 5, 7);
  ------------------
  |  |  114|   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) ))
  |  |  ------------------
  ------------------
  121|   244k|            function(C,D,A,B, 6,11);
  ------------------
  |  |  114|   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) ))
  |  |  ------------------
  ------------------
  122|   244k|            function(B,C,D,A, 7,19);
  ------------------
  |  |  114|   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) ))
  |  |  ------------------
  ------------------
  123|   244k|            function(A,B,C,D, 8, 3);
  ------------------
  |  |  114|   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) ))
  |  |  ------------------
  ------------------
  124|   244k|            function(D,A,B,C, 9, 7);
  ------------------
  |  |  114|   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) ))
  |  |  ------------------
  ------------------
  125|   244k|            function(C,D,A,B,10,11);
  ------------------
  |  |  114|   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(B,C,D,A,11,19);
  ------------------
  |  |  114|   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(A,B,C,D,12, 3);
  ------------------
  |  |  114|   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(D,A,B,C,13, 7);
  ------------------
  |  |  114|   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(C,D,A,B,14,11);
  ------------------
  |  |  114|   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(B,C,D,A,15,19);
  ------------------
  |  |  114|   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|       |
  132|   244k|#undef function   
  133|   244k|#define function(a,b,c,d,k,s) a=ROL(a+G(b,c,d)+X[k]+(uint32_t)0x5a827999,s);     
  134|   244k|            function(A,B,C,D, 0, 3);
  ------------------
  |  |  133|   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) ))
  |  |  ------------------
  ------------------
  135|   244k|            function(D,A,B,C, 4, 5);
  ------------------
  |  |  133|   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) ))
  |  |  ------------------
  ------------------
  136|   244k|            function(C,D,A,B, 8, 9);
  ------------------
  |  |  133|   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) ))
  |  |  ------------------
  ------------------
  137|   244k|            function(B,C,D,A,12,13);
  ------------------
  |  |  133|   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) ))
  |  |  ------------------
  ------------------
  138|   244k|            function(A,B,C,D, 1, 3);
  ------------------
  |  |  133|   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) ))
  |  |  ------------------
  ------------------
  139|   244k|            function(D,A,B,C, 5, 5);
  ------------------
  |  |  133|   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) ))
  |  |  ------------------
  ------------------
  140|   244k|            function(C,D,A,B, 9, 9);
  ------------------
  |  |  133|   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) ))
  |  |  ------------------
  ------------------
  141|   244k|            function(B,C,D,A,13,13);
  ------------------
  |  |  133|   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) ))
  |  |  ------------------
  ------------------
  142|   244k|            function(A,B,C,D, 2, 3);
  ------------------
  |  |  133|   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) ))
  |  |  ------------------
  ------------------
  143|   244k|            function(D,A,B,C, 6, 5);
  ------------------
  |  |  133|   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) ))
  |  |  ------------------
  ------------------
  144|   244k|            function(C,D,A,B,10, 9);
  ------------------
  |  |  133|   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(B,C,D,A,14,13);
  ------------------
  |  |  133|   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(A,B,C,D, 3, 3);
  ------------------
  |  |  133|   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(D,A,B,C, 7, 5);
  ------------------
  |  |  133|   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(C,D,A,B,11, 9);
  ------------------
  |  |  133|   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(B,C,D,A,15,13);
  ------------------
  |  |  133|   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|       |
  151|   244k|#undef function  
  152|   244k|#define function(a,b,c,d,k,s) a=ROL(a+H(b,c,d)+X[k]+(uint32_t)0x6ed9eba1,s);     
  153|   244k|            function(A,B,C,D, 0, 3);
  ------------------
  |  |  152|   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) ))
  |  |  ------------------
  ------------------
  154|   244k|            function(D,A,B,C, 8, 9);
  ------------------
  |  |  152|   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) ))
  |  |  ------------------
  ------------------
  155|   244k|            function(C,D,A,B, 4,11);
  ------------------
  |  |  152|   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) ))
  |  |  ------------------
  ------------------
  156|   244k|            function(B,C,D,A,12,15);
  ------------------
  |  |  152|   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) ))
  |  |  ------------------
  ------------------
  157|   244k|            function(A,B,C,D, 2, 3);
  ------------------
  |  |  152|   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) ))
  |  |  ------------------
  ------------------
  158|   244k|            function(D,A,B,C,10, 9);
  ------------------
  |  |  152|   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) ))
  |  |  ------------------
  ------------------
  159|   244k|            function(C,D,A,B, 6,11);
  ------------------
  |  |  152|   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) ))
  |  |  ------------------
  ------------------
  160|   244k|            function(B,C,D,A,14,15);
  ------------------
  |  |  152|   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) ))
  |  |  ------------------
  ------------------
  161|   244k|            function(A,B,C,D, 1, 3);
  ------------------
  |  |  152|   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) ))
  |  |  ------------------
  ------------------
  162|   244k|            function(D,A,B,C, 9, 9);
  ------------------
  |  |  152|   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) ))
  |  |  ------------------
  ------------------
  163|   244k|            function(C,D,A,B, 5,11);
  ------------------
  |  |  152|   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(B,C,D,A,13,15);
  ------------------
  |  |  152|   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(A,B,C,D, 3, 3);
  ------------------
  |  |  152|   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(D,A,B,C,11, 9);
  ------------------
  |  |  152|   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(C,D,A,B, 7,11);
  ------------------
  |  |  152|   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(B,C,D,A,15,15);
  ------------------
  |  |  152|   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|       |
  170|   244k|            hs->A+=A; hs->B+=B; hs->C+=C; hs->D+=D;
  171|   244k|        }
  172|   246k|    }
  173|       |
  174|  1.31k|    return 0;
  175|  1.31k|}
_Z10md4_digestPK10hash_statePh:
  178|    119|{
  179|    119|    static uint8_t s[8];
  180|    119|    uint32_t padlen;
  181|    119|    hash_state temp;
  182|    119|    unsigned i;
  183|    119|    uint64_t bitlen;
  184|       |
  185|    119|    static const uint8_t padding[64] = {
  186|    119|        0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  187|    119|        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  188|    119|        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  189|    119|        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  190|    119|        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  191|    119|        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  192|    119|        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  193|    119|        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  194|    119|    };
  195|       |
  196|    119|    if (NULL==hs || NULL==digest)
  ------------------
  |  |   30|    119|#define digest CONCAT_TYPE(_digest)
  |  |  ------------------
  |  |  |  |   26|    119|#define CONCAT_TYPE(x) _PASTE2(HASHTYPE, x)
  |  |  |  |  ------------------
  |  |  |  |  |  |   59|    119|#define _PASTE2(x,y) _PASTE(x,y)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   58|    119|#define _PASTE(x,y) x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (196:9): [True: 0, False: 119]
  |  Branch (196:21): [True: 0, False: 119]
  ------------------
  197|      0|        return ERR_NULL;
  ------------------
  |  |    5|      0|#define ERR_NULL                1
  ------------------
  198|       |
  199|    119|    temp = *hs;
  200|       |
  201|    119|    bitlen = temp.bitlen;   /* Save current length */
  202|       |
  203|    119|    padlen= (56<=hs->count) ? 56-hs->count+64: 56-hs->count;
  ------------------
  |  Branch (203:13): [True: 56, False: 63]
  ------------------
  204|    119|    md4_update(&temp, padding, padlen);
  205|       |
  206|  1.07k|    for (i=0; i<8; i++)
  ------------------
  |  Branch (206:15): [True: 952, False: 119]
  ------------------
  207|    952|        s[i] = (uint8_t)(bitlen >> (i*8));
  208|    119|    md4_update(&temp, s, 8);
  209|       |
  210|    119|    STORE_U32_LITTLE(&digest[0], temp.A);
  ------------------
  |  |   98|    119|#define STORE_U32_LITTLE(p, w) u32to8_little((p), &(w))
  ------------------
  211|    119|    STORE_U32_LITTLE(&digest[4], temp.B);
  ------------------
  |  |   98|    119|#define STORE_U32_LITTLE(p, w) u32to8_little((p), &(w))
  ------------------
  212|    119|    STORE_U32_LITTLE(&digest[8], temp.C);
  ------------------
  |  |   98|    119|#define STORE_U32_LITTLE(p, w) u32to8_little((p), &(w))
  ------------------
  213|    119|    STORE_U32_LITTLE(&digest[12], temp.D);
  ------------------
  |  |   98|    119|#define STORE_U32_LITTLE(p, w) u32to8_little((p), &(w))
  ------------------
  214|       |
  215|    119|    return 0;
  216|    119|}

pcd_hash_fuzzer.cc:_ZL18load_u8to32_littlePKh:
   80|  3.91M|{
   81|  3.91M|    uint32_t w;
   82|       |
   83|  3.91M|    u8to32_little(&w, p);
   84|  3.91M|    return w;
   85|  3.91M|}
pcd_hash_fuzzer.cc:_ZL13u8to32_littlePjPKh:
   50|  3.91M|{
   51|       |#ifdef PYCRYPTO_LITTLE_ENDIAN
   52|       |    memcpy(w, p, 4);
   53|       |#else
   54|  3.91M|    *w = (uint32_t)p[0] | (uint32_t)p[1]<<8 | (uint32_t)p[2]<<16 | (uint32_t)p[3]<<24;
   55|  3.91M|#endif
   56|  3.91M|}
pcd_hash_fuzzer.cc:_ZL13u32to8_littlePhPKj:
   38|    476|{
   39|       |#ifdef PYCRYPTO_LITTLE_ENDIAN
   40|       |    memcpy(p, w, 4);
   41|       |#else
   42|    476|    p[0] = (uint8_t)*w;
   43|    476|    p[1] = (uint8_t)(*w >> 8);
   44|    476|    p[2] = (uint8_t)(*w >> 16);
   45|    476|    p[3] = (uint8_t)(*w >> 24);
   46|    476|#endif
   47|    476|}

