Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   83 f8 fe ?? cmp eax, 0xfe<254,-2>
   75 18 ?? jne basic block L5
  
  L2: e8 4b e8 fe ff ?? call function 0x0040c7ff
  
  L3: 83 20 00 ?? and dword ds:[eax], 0
   e8 30 e8 fe ff ?? call function 0x0040c7ec
  
  L4: c7 00 09 00 00 00 ?? mov dword ds:[eax], 9
   83 c8 ff ?? or eax, 0xff<255,-1>
   5d ?? pop ebp
   c3 ?? ret
  
  L5: 56 ?? push esi
   33 f6 ?? xor esi, esi
   3b c6 ?? cmp eax, esi
   7c 22 ?? jl basic block L8
  
  L6: 3b 05 6c 66 43 00 ?? cmp eax, dword ds:[0x0043666c]
   73 1a ?? jae basic block L8
  
  L7: 8b c8 ?? mov ecx, eax
   83 e0 1f ?? and eax, 0x1f<31>
   c1 f9 05 ?? sar ecx, 5
   8b 0c 8d c0 66 43 00 ?? mov ecx, dword ds:[0x004366c0 + ecx * 4]
   c1 e0 06 ?? shl eax, 6
   03 c1 ?? add eax, ecx
   f6 40 04 01 ?? test byte ds:[eax + 4], 1
   75 24 ?? jne basic block L12
  
  L8: e8 0a e8 fe ff ?? call function 0x0040c7ff
  
  L9: 89 30 ?? mov dword ds:[eax], esi
   e8 f0 e7 fe ff ?? call function 0x0040c7ec
  
  L10: 56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   56 ?? push esi
   c7 00 09 00 00 00 ?? mov dword ds:[eax], 9
   e8 d4 88 fe ff ?? call function 0x004068e0
  
  L11: 83 c4 14 ?? add esp, 0x14<20>
   83 c8 ff ?? or eax, 0xff<255,-1>
   eb 02 ?? jmp basic block L13
  
  L12: 8b 00 ?? mov eax, dword ds:[eax]
  
  L13: 5e ?? pop esi
   5d ?? pop ebp
   c3 ?? ret
  
  