Disassembly: 
  L1: 33 c0 ?? xor eax, eax
   84 d2 ?? test dl, dl
   79 03 ?? jns basic block L3
  
  L2: 6a 10 ?? push 0x10<16>
   58 ?? pop eax
  
  L3: 53 ?? push ebx
   bb 00 02 00 00 ?? mov ebx, 0x00000200<512>
   56 ?? push esi
   57 ?? push edi
   85 d3 ?? test ebx, edx
   74 03 ?? je basic block L5
  
  L4: 83 c8 08 ?? or eax, 8
  
  L5: f7 c2 00 04 00 00 ?? test edx, 0x00000400<1024>
   74 03 ?? je basic block L7
  
  L6: 83 c8 04 ?? or eax, 4
  
  L7: f7 c2 00 08 00 00 ?? test edx, 0x00000800<2048>
   74 03 ?? je basic block L9
  
  L8: 83 c8 02 ?? or eax, 2
  
  L9: f7 c2 00 10 00 00 ?? test edx, 0x00001000<4096>
   74 03 ?? je basic block L11
  
  L10: 83 c8 01 ?? or eax, 1
  
  L11: bf 00 01 00 00 ?? mov edi, 0x00000100<256>
   85 d7 ?? test edi, edx
   74 05 ?? je basic block L13
  
  L12: 0d 00 00 08 00 ?? or eax, 0x00080000
  
  L13: 8b ca ?? mov ecx, edx
   be 00 60 00 00 ?? mov esi, 0x00006000<24576>
   23 ce ?? and ecx, esi
   74 21 ?? je basic block L20
  
  L14: 81 f9 00 20 00 00 ?? cmp ecx, 0x00002000<8192>
   74 17 ?? je basic block L19
  
  L15: 81 f9 00 40 00 00 ?? cmp ecx, 0x00004000<16384>
   74 0b ?? je basic block L18
  
  L16: 3b ce ?? cmp ecx, esi
   75 0d ?? jne basic block L20
  
  L17: 0d 00 03 00 00 ?? or eax, 0x00000300<768>
   eb 06 ?? jmp basic block L20
  
  L18: 0b c3 ?? or eax, ebx
   eb 02 ?? jmp basic block L20
  
  L19: 0b c7 ?? or eax, edi
  
  L20: 5f ?? pop edi
   81 e2 40 80 00 00 ?? and edx, 0x00008040<32832>
   83 ea 40 ?? sub edx, 0x40<64>
   5e ?? pop esi
   5b ?? pop ebx
   74 19 ?? je basic block L25
  
  L21: 81 ea c0 7f 00 00 ?? sub edx, 0x00007fc0<32704>
   74 0b ?? je basic block L24
  
  L22: 83 ea 40 ?? sub edx, 0x40<64>
   75 11 ?? jne basic block L26
  
  L23: 0d 00 00 00 01 ?? or eax, 0x01000000
   c3 ?? ret
  
  L24: 0d 00 00 00 03 ?? or eax, 0x03000000
   c3 ?? ret
  
  L25: 0d 00 00 00 02 ?? or eax, 0x02000000
  
  L26: c3 ?? ret
  
  