Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   56 ?? push esi
   8b 30 ?? mov esi, dword ds:[eax]
   8b ce ?? mov ecx, esi
   03 f6 ?? add esi, esi
   57 ?? push edi
   8b 78 04 ?? mov edi, dword ds:[eax + 4]
   c1 e9 1f ?? shr ecx, 0x1f<31>
   89 30 ?? mov dword ds:[eax], esi
   8d 34 3f ?? lea esi, ds:[edi + edi]
   0b f1 ?? or esi, ecx
   8b 48 08 ?? mov ecx, dword ds:[eax + 8]
   8b d7 ?? mov edx, edi
   c1 ea 1f ?? shr edx, 0x1f<31>
   03 c9 ?? add ecx, ecx
   0b ca ?? or ecx, edx
   5f ?? pop edi
   89 70 04 ?? mov dword ds:[eax + 4], esi
   89 48 08 ?? mov dword ds:[eax + 8], ecx
   5e ?? pop esi
   5d ?? pop ebp
   c3 ?? ret
  
  