Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   53 ?? push ebx
   33 db ?? xor ebx, ebx
   3b cb ?? cmp ecx, ebx
   56 ?? push esi
   57 ?? push edi
   7c 5b ?? jl basic block L14
  
  L2: 3b 0d 94 76 43 00 ?? cmp ecx, dword ds:[0x00437694]
   73 53 ?? jae basic block L14
  
  L3: 8b c1 ?? mov eax, ecx
   c1 f8 05 ?? sar eax, 5
   8b f1 ?? mov esi, ecx
   8d 3c 85 e0 76 43 00 ?? lea edi, ds:[0x004376e0 + eax * 4]
   8b 07 ?? mov eax, dword ds:[edi]
   83 e6 1f ?? and esi, 0x1f<31>
   c1 e6 06 ?? shl esi, 6
   03 c6 ?? add eax, esi
   f6 40 04 01 ?? test byte ds:[eax + 4], 1
   74 35 ?? je basic block L14
  
  L4: 83 38 ff ?? cmp dword ds:[eax], 0xff<255,-1>
   74 30 ?? je basic block L14
  
  L5: 83 3d a0 54 43 00 01 ?? cmp dword ds:[0x004354a0], 1
   75 1d ?? jne basic block L13
  
  L6: 2b cb ?? sub ecx, ebx
   74 10 ?? je basic block L11
  
  L7: 49 ?? dec ecx
   74 08 ?? je basic block L10
  
  L8: 49 ?? dec ecx
   75 13 ?? jne basic block L13
  
  L9: 53 ?? push ebx
   6a f4 ?? push 0xf4<244,-12>
   eb 08 ?? jmp basic block L12
  
  L10: 53 ?? push ebx
   6a f5 ?? push 0xf5<245,-11>
   eb 03 ?? jmp basic block L12
  
  L11: 53 ?? push ebx
   6a f6 ?? push 0xf6<246,-10>
  
  L12: ff 15 2c 93 43 00 ?? call dword ds:[0x0043932c]
  
  L13: 8b 07 ?? mov eax, dword ds:[edi]
   83 0c 06 ff ?? or dword ds:[esi + eax], 0xff<255,-1>
   33 c0 ?? xor eax, eax
   eb 15 ?? jmp basic block L17
  
  L14: e8 a5 e6 fe ff ?? call function 0x0040c922
  
  L15: c7 00 09 00 00 00 ?? mov dword ds:[eax], 9
   e8 ad e6 fe ff ?? call function 0x0040c935
  
  L16: 89 18 ?? mov dword ds:[eax], ebx
   83 c8 ff ?? or eax, 0xff<255,-1>
  
  L17: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   5d ?? pop ebp
   c3 ?? ret
  
  