Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   83 65 fc 00 ?? and dword ss:[ebp + 0xfc<252,-4>], 0
   53 ?? push ebx
   8b 5d 10 ?? mov ebx, dword ss:[ebp + 0x10<16>]
   85 db ?? test ebx, ebx
   75 07 ?? jne basic block L3
  
  L2: 33 c0 ?? xor eax, eax
   e9 9a 00 00 00 ?? jmp basic block L27
  
  L3: 57 ?? push edi
   83 fb 04 ?? cmp ebx, 4
   72 75 ?? jb basic block L20
  
  L4: 8d 7b fc ?? lea edi, ds:[ebx + 0xfc<252,-4>]
   85 ff ?? test edi, edi
   76 6e ?? jbe basic block L20
  
  L5: 8b 4d 0c ?? mov ecx, dword ss:[ebp + 12]
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
  
  L6: 8a 10 ?? mov dl, byte ds:[eax]
   83 c0 04 ?? add eax, 4
   83 c1 04 ?? add ecx, 4
   84 d2 ?? test dl, dl
   74 52 ?? je basic block L19
  
  L7: 3a 51 fc ?? cmp dl, byte ds:[ecx + 0xfc<252,-4>]
   75 4d ?? jne basic block L19
  
  L8: 8a 50 fd ?? mov dl, byte ds:[eax + 0xfd<253,-3>]
   84 d2 ?? test dl, dl
   74 3c ?? je basic block L18
  
  L9: 3a 51 fd ?? cmp dl, byte ds:[ecx + 0xfd<253,-3>]
   75 37 ?? jne basic block L18
  
  L10: 8a 50 fe ?? mov dl, byte ds:[eax + 0xfe<254,-2>]
   84 d2 ?? test dl, dl
   74 26 ?? je basic block L17
  
  L11: 3a 51 fe ?? cmp dl, byte ds:[ecx + 0xfe<254,-2>]
   75 21 ?? jne basic block L17
  
  L12: 8a 50 ff ?? mov dl, byte ds:[eax + 0xff<255,-1>]
   84 d2 ?? test dl, dl
   74 10 ?? je basic block L16
  
  L13: 3a 51 ff ?? cmp dl, byte ds:[ecx + 0xff<255,-1>]
   75 0b ?? jne basic block L16
  
  L14: 83 45 fc 04 ?? add dword ss:[ebp + 0xfc<252,-4>], 4
   39 7d fc ?? cmp dword ss:[ebp + 0xfc<252,-4>], edi
   72 c2 ?? jb basic block L6
  
  L15: eb 3f ?? jmp basic block L24
  
  L16: 0f b6 40 ff ?? movzx eax, byte ds:[eax + 0xff<255,-1>]
   0f b6 49 ff ?? movzx ecx, byte ds:[ecx + 0xff<255,-1>]
   eb 46 ?? jmp basic block L29
  
  L17: 0f b6 40 fe ?? movzx eax, byte ds:[eax + 0xfe<254,-2>]
   0f b6 49 fe ?? movzx ecx, byte ds:[ecx + 0xfe<254,-2>]
   eb 3c ?? jmp basic block L29
  
  L18: 0f b6 40 fd ?? movzx eax, byte ds:[eax + 0xfd<253,-3>]
   0f b6 49 fd ?? movzx ecx, byte ds:[ecx + 0xfd<253,-3>]
   eb 32 ?? jmp basic block L29
  
  L19: 0f b6 40 fc ?? movzx eax, byte ds:[eax + 0xfc<252,-4>]
   0f b6 49 fc ?? movzx ecx, byte ds:[ecx + 0xfc<252,-4>]
   eb 28 ?? jmp basic block L29
  
  L20: 8b 4d 0c ?? mov ecx, dword ss:[ebp + 12]
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   eb 0f ?? jmp basic block L24
  
  L21: 8a 10 ?? mov dl, byte ds:[eax]
   84 d2 ?? test dl, dl
   74 14 ?? je basic block L28
  
  L22: 3a 11 ?? cmp dl, byte ds:[ecx]
   75 10 ?? jne basic block L28
  
  L23: 40 ?? inc eax
   41 ?? inc ecx
   ff 45 fc ?? inc dword ss:[ebp + 0xfc<252,-4>]
  
  L24: 39 5d fc ?? cmp dword ss:[ebp + 0xfc<252,-4>], ebx
   72 ec ?? jb basic block L21
  
  L25: 33 c0 ?? xor eax, eax
  
  L26: 5f ?? pop edi
  
  L27: 5b ?? pop ebx
   c9 ?? leave
   c3 ?? ret
  
  L28: 0f b6 00 ?? movzx eax, byte ds:[eax]
   0f b6 09 ?? movzx ecx, byte ds:[ecx]
  
  L29: 2b c1 ?? sub eax, ecx
   eb f2 ?? jmp basic block L26
  
  