Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 08 ?? sub esp, 8
   89 4d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ecx
   56 ?? push esi
   8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   57 ?? push edi
   85 d2 ?? test edx, edx
   74 4f ?? je basic block L10
  
  L2: 33 ff ?? xor edi, edi
   39 3a ?? cmp dword ds:[edx], edi
   7e 49 ?? jle basic block L10
  
  L3: 53 ?? push ebx
   33 db ?? xor ebx, ebx
   8b f2 ?? mov esi, edx
   8d 49 00 ?? lea ecx, ds:[ecx + 0]
  
  L4: 8b 4e 04 ?? mov ecx, dword ds:[esi + 4]
   8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   8b 14 19 ?? mov edx, dword ds:[ecx + ebx]
   81 7c 02 fc cc cc cc cc ?? cmp dword ds:[edx + eax + 0xfc<252,-4>], 0xcccccccc
   75 12 ?? jne basic block L6
  
  L5: 8b 44 19 04 ?? mov eax, dword ds:[ecx + ebx + 4]
   03 c2 ?? add eax, edx
   8b 55 fc ?? mov edx, dword ss:[ebp + 0xfc<252,-4>]
   81 3c 10 cc cc cc cc ?? cmp dword ds:[eax + edx], 0xcccccccc
   74 10 ?? je basic block L8
  
  L6: ff 74 19 08 ?? push dword ds:[ecx + ebx + 8]
   8b 45 04 ?? mov eax, dword ss:[ebp + 4]
   50 ?? push eax
   e8 ee 02 00 00 ?? call function 0x00405330
  
  L7: 83 c4 08 ?? add esp, 8
  
  L8: 47 ?? inc edi
   83 c3 0c ?? add ebx, 12
   3b 3e ?? cmp edi, dword ds:[esi]
   7c c3 ?? jl basic block L4
  
  L9: 8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   5b ?? pop ebx
  
  L10: 33 ff ?? xor edi, edi
   8b c6 ?? mov eax, esi
   85 f6 ?? test esi, esi
   74 63 ?? je basic block L24
  
  L11: 8d a4 24 00 00 00 00 ?? lea esp, ss:[esp + 0]
  
  L12: 8b 40 04 ?? mov eax, dword ds:[eax + 4]
   47 ?? inc edi
   85 c0 ?? test eax, eax
  
  L13: 75 f8 ?? jne basic block L12
  
  L14: 81 3e cc cc cc cc ?? cmp dword ds:[esi], 0xcccccccc
   75 1b ?? jne basic block L18
  
  L15: 81 7e 14 cc cc cc cc ?? cmp dword ds:[esi + 0x14<20>], 0xcccccccc
   75 12 ?? jne basic block L18
  
  L16: 81 7e 18 cc cc cc cc ?? cmp dword ds:[esi + 0x18<24>], 0xcccccccc
   75 09 ?? jne basic block L18
  
  L17: 81 7e 1c cc cc cc cc ?? cmp dword ds:[esi + 0x1c<28>], 0xcccccccc
   74 0e ?? je basic block L20
  
  L18: 8b 45 04 ?? mov eax, dword ss:[ebp + 4]
   57 ?? push edi
   56 ?? push esi
   50 ?? push eax
   e8 5a 01 00 00 ?? call function 0x004051f0
  
  L19: 83 c4 0c ?? add esp, 12
  
  L20: 8b 46 0c ?? mov eax, dword ds:[esi + 12]
   81 7c 30 fc cc cc cc cc ?? cmp dword ds:[eax + esi + 0xfc<252,-4>], 0xcccccccc
   74 0e ?? je basic block L23
  
  L21: 8b 45 04 ?? mov eax, dword ss:[ebp + 4]
   57 ?? push edi
   56 ?? push esi
   50 ?? push eax
   e8 3f 01 00 00 ?? call function 0x004051f0
  
  L22: 83 c4 0c ?? add esp, 12
  
  L23: 8b 76 04 ?? mov esi, dword ds:[esi + 4]
   4f ?? dec edi
   85 f6 ?? test esi, esi
   75 ac ?? jne basic block L14
  
  L24: 5f ?? pop edi
   5e ?? pop esi
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c2 04 00 ?? ret 4
  
  