Disassembly: 
  L1: 8b 54 24 04 ?? mov edx, dword ss:[esp + 4]
   8b 4c 24 08 ?? mov ecx, dword ss:[esp + 8]
   f7 c2 03 00 00 00 ?? test edx, 3
   75 3c ?? jne basic block L14
  
  L2: 8b 02 ?? mov eax, dword ds:[edx]
   3a 01 ?? cmp al, byte ds:[ecx]
   75 2e ?? jne basic block L13
  
  L3: 0a c0 ?? or al, al
   74 26 ?? je basic block L11
  
  L4: 3a 61 01 ?? cmp ah, byte ds:[ecx + 1]
   75 25 ?? jne basic block L13
  
  L5: 0a e4 ?? or ah, ah
   74 1d ?? je basic block L11
  
  L6: c1 e8 10 ?? shr eax, 0x10<16>
   3a 41 02 ?? cmp al, byte ds:[ecx + 2]
   75 19 ?? jne basic block L13
  
  L7: 0a c0 ?? or al, al
   74 11 ?? je basic block L11
  
  L8: 3a 61 03 ?? cmp ah, byte ds:[ecx + 3]
   75 10 ?? jne basic block L13
  
  L9: 83 c1 04 ?? add ecx, 4
   83 c2 04 ?? add edx, 4
   0a e4 ?? or ah, ah
   75 d2 ?? jne basic block L2
  
  L10: 8b ff ?? mov edi, edi
  
  L11: 33 c0 ?? xor eax, eax
   c3 ?? ret
  
  L12: 90 ?? nop
  
  L13: 1b c0 ?? sbb eax, eax
   d1 e0 ?? shl eax, 1
   83 c0 01 ?? add eax, 1
   c3 ?? ret
  
  L14: f7 c2 01 00 00 00 ?? test edx, 1
   74 18 ?? je basic block L18
  
  L15: 8a 02 ?? mov al, byte ds:[edx]
   83 c2 01 ?? add edx, 1
   3a 01 ?? cmp al, byte ds:[ecx]
   75 e7 ?? jne basic block L13
  
  L16: 83 c1 01 ?? add ecx, 1
   0a c0 ?? or al, al
   74 dc ?? je basic block L11
  
  L17: f7 c2 02 00 00 00 ?? test edx, 2
   74 a4 ?? je basic block L2
  
  L18: 66 8b 02 ?? mov ax, word ds:[edx]
   83 c2 02 ?? add edx, 2
   3a 01 ?? cmp al, byte ds:[ecx]
   75 ce ?? jne basic block L13
  
  L19: 0a c0 ?? or al, al
   74 c6 ?? je basic block L11
  
  L20: 3a 61 01 ?? cmp ah, byte ds:[ecx + 1]
   75 c5 ?? jne basic block L13
  
  L21: 0a e4 ?? or ah, ah
   74 bd ?? je basic block L11
  
  L22: 83 c1 02 ?? add ecx, 2
   eb 88 ?? jmp basic block L2
  
  