Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   8b 55 08 ?? mov edx, dword ss:[ebp + 8]
   83 ca 0f ?? or edx, 15
   56 ?? push esi
   81 fa ff ff ff 7f ?? cmp edx, 0x7fffffff
   77 21 ?? ja basic block L4
  
  L2: 8b 71 14 ?? mov esi, dword ds:[ecx + 0x14<20>]
   b8 ff ff ff 7f ?? mov eax, 0x7fffffff
   8b ce ?? mov ecx, esi
   d1 e9 ?? shr ecx, 1
   2b c1 ?? sub eax, ecx
   3b f0 ?? cmp esi, eax
   77 0f ?? ja basic block L4
  
  L3: 8d 04 31 ?? lea eax, ds:[ecx + esi]
   3b d0 ?? cmp edx, eax
   5e ?? pop esi
   0f 42 d0 ?? cmovb edx, eax
   8b c2 ?? mov eax, edx
   5d ?? pop ebp
   c2 04 00 ?? ret 4
  
  L4: b8 ff ff ff 7f ?? mov eax, 0x7fffffff
   5e ?? pop esi
   5d ?? pop ebp
   c2 04 00 ?? ret 4
  
  