Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   b8 ff ff 00 00 ?? mov eax, 0x0000ffff
   83 ec 14 ?? sub esp, 0x14<20>
   66 39 45 08 ?? cmp word ss:[ebp + 8], ax
   75 06 ?? jne basic block L3
  
  L2: 83 65 fc 00 ?? and dword ss:[ebp + 0xfc<252,-4>], 0
   eb 65 ?? jmp basic block L11
  
  L3: b8 00 01 00 00 ?? mov eax, 0x00000100<256>
   66 39 45 08 ?? cmp word ss:[ebp + 8], ax
   73 1a ?? jae basic block L5
  
  L4: 0f b7 45 08 ?? movzx eax, word ss:[ebp + 8]
   8b 0d 18 47 43 00 ?? mov ecx, dword ds:[0x00434718]
   66 8b 04 41 ?? mov ax, word ds:[ecx + eax * 2]
   66 23 45 0c ?? and ax, word ss:[ebp + 12]
   0f b7 c0 ?? movzx eax, ax
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   eb 40 ?? jmp basic block L11
  
  L5: ff 75 10 ?? push dword ss:[ebp + 0x10<16>]
   8d 4d ec ?? lea ecx, ss:[ebp + 0xec<236,-20>]
   e8 49 98 fe ff ?? call function 0x00408dd4
  
  L6: 8b 45 ec ?? mov eax, dword ss:[ebp + 0xec<236,-20>]
   ff 70 14 ?? push dword ds:[eax + 0x14<20>]
   ff 70 04 ?? push dword ds:[eax + 4]
   8d 45 fc ?? lea eax, ss:[ebp + 0xfc<252,-4>]
   50 ?? push eax
   6a 01 ?? push 1
   8d 45 08 ?? lea eax, ss:[ebp + 8]
   50 ?? push eax
   8d 45 ec ?? lea eax, ss:[ebp + 0xec<236,-20>]
   6a 01 ?? push 1
   50 ?? push eax
   e8 6b 0c 00 00 ?? call function 0x00420214
  
  L7: 83 c4 1c ?? add esp, 0x1c<28>
   85 c0 ?? test eax, eax
   75 03 ?? jne basic block L9
  
  L8: 21 45 fc ?? and dword ss:[ebp + 0xfc<252,-4>], eax
  
  L9: 80 7d f8 00 ?? cmp byte ss:[ebp + 0xf8<248,-8>], 0
   74 07 ?? je basic block L11
  
  L10: 8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
   83 60 70 fd ?? and dword ds:[eax + 0x70<112>], 0xfd<253,-3>
  
  L11: 0f b7 45 fc ?? movzx eax, word ss:[ebp + 0xfc<252,-4>]
   0f b7 4d 0c ?? movzx ecx, word ss:[ebp + 12]
   23 c1 ?? and eax, ecx
   c9 ?? leave
   c3 ?? ret
  
  