Can you modify this javascript function in random way. There's a few rules:

1. You cannot change any of the static values.
2. You may not change the input to md5 function ("hola mis amigos")
3. It must not have the same output as the original function
4. It must be runnable using pure javascript (no libraries, APIs etc)

You can change/add things like (but not limited to):
1. Logic
2. Math operators
3. Add extra random code / noise that modifies the output
4. Extra branches, loop iterations etc.

This is the javascript function:

function md5(inputString) {     var hc="0123456789abcdef";     function rh(n) {var j,s="";for(j=0;j<=3;j++) s+=hc.charAt((n>>(j*8+4))&0x0F)+hc.charAt((n>>(j*8))&0x0F);return s;}     function ad(x,y) {var l=(x&0xFFFF)+(y&0xFFFF);var m=(x>>16)+(y>>16)+(l>>16);return (m<<16)|(l&0xFFFF);}     function rl(n,c)            {return (n<<c)|(n>>>(32-c));}     function cm(q,a,b,x,s,t)    {return ad(rl(ad(ad(a,q),ad(x,t)),s),b);}     function ff(a,b,c,d,x,s,t)  {return cm((b&c)|((~b)&d),a,b,x,s,t);}     function gg(a,b,c,d,x,s,t)  {return cm((b&d)|(c&(~d)),a,b,x,s,t);}     function hh(a,b,c,d,x,s,t)  {return cm(b^c^d,a,b,x,s,t);}     function ii(a,b,c,d,x,s,t)  {return cm(c^(b|(~d)),a,b,x,s,t);}     function sb(x) {         var i;var nblk=((x.length+8)>>6)+1;var blks=new Array(nblk*16);for(i=0;i<nblk*16;i++) blks[i]=0;         for(i=0;i<x.length;i++) blks[i>>2]|=x.charCodeAt(i)<<((i%4)*8);         blks[i>>2]|=0x80<<((i%4)*8);blks[nblk*16-2]=x.length*8;return blks;     }     var i,x=sb(""+inputStr Your response should contain less than 550 words.
user