Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   33 c0 ?? xor eax, eax
   f6 c1 01 ?? test cl, 1
   74 03 ?? je basic block L3
  
  L2: 6a 10 ?? push 0x10<16>
   58 ?? pop eax
  
  L3: f6 c1 04 ?? test cl, 4
   74 03 ?? je basic block L5
  
  L4: 83 c8 08 ?? or eax, 8
  
  L5: f6 c1 08 ?? test cl, 8
   74 03 ?? je basic block L7
  
  L6: 83 c8 04 ?? or eax, 4
  
  L7: f6 c1 10 ?? test cl, 0x10<16>
   74 03 ?? je basic block L9
  
  L8: 83 c8 02 ?? or eax, 2
  
  L9: f6 c1 20 ?? test cl, 0x20<32>
   74 03 ?? je basic block L11
  
  L10: 83 c8 01 ?? or eax, 1
  
  L11: f6 c1 02 ?? test cl, 2
   74 05 ?? je basic block L13
  
  L12: 0d 00 00 08 00 ?? or eax, 0x00080000
  
  L13: 53 ?? push ebx
   0f b7 d1 ?? movzx edx, cx
   56 ?? push esi
   8b ca ?? mov ecx, edx
   be 00 0c 00 00 ?? mov esi, 0x00000c00<3072>
   23 ce ?? and ecx, esi
   57 ?? push edi
   bf 00 03 00 00 ?? mov edi, 0x00000300<768>
   bb 00 02 00 00 ?? mov ebx, 0x00000200<512>
   74 21 ?? je basic block L20
  
  L14: 81 f9 00 04 00 00 ?? cmp ecx, 0x00000400<1024>
   74 14 ?? je basic block L19
  
  L15: 81 f9 00 08 00 00 ?? cmp ecx, 0x00000800<2048>
   74 08 ?? je basic block L18
  
  L16: 3b ce ?? cmp ecx, esi
   75 0d ?? jne basic block L20
  
  L17: 0b c7 ?? or eax, edi
   eb 09 ?? jmp basic block L20
  
  L18: 0b c3 ?? or eax, ebx
   eb 05 ?? jmp basic block L20
  
  L19: 0d 00 01 00 00 ?? or eax, 0x00000100<256>
  
  L20: 23 d7 ?? and edx, edi
   74 0b ?? je basic block L23
  
  L21: 3b d3 ?? cmp edx, ebx
   75 0c ?? jne basic block L24
  
  L22: 0d 00 00 01 00 ?? or eax, 0x00010000
   eb 05 ?? jmp basic block L24
  
  L23: 0d 00 00 02 00 ?? or eax, 0x00020000
  
  L24: f7 45 08 00 10 00 00 ?? test dword ss:[ebp + 8], 0x00001000<4096>
   5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   74 05 ?? je basic block L26
  
  L25: 0d 00 00 04 00 ?? or eax, 0x00040000
  
  L26: 5d ?? pop ebp
   c3 ?? ret
  
  