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

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

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

