Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   8b f2 ?? mov esi, edx
   33 ff ?? xor edi, edi
   8b d9 ?? mov ebx, ecx
   3b f7 ?? cmp esi, edi
   74 52 ?? je basic block L10
  
  L2: 89 7d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edi
   39 3e ?? cmp dword ds:[esi], edi
   7e 4b ?? jle basic block L10
  
  L3: 8d 9b 00 00 00 00 ?? lea ebx, ds:[ebx + 0]
  
  L4: 8b 46 04 ?? mov eax, dword ds:[esi + 4]
   8b 0c 38 ?? mov ecx, dword ds:[eax + edi]
   ba cc cc cc cc ?? mov edx, 0xcccccccc
   39 54 19 fc ?? cmp dword ds:[ecx + ebx + 0xfc<252,-4>], edx
   75 0b ?? jne basic block L6
  
  L5: 8b 44 38 04 ?? mov eax, dword ds:[eax + edi + 4]
   03 c1 ?? add eax, ecx
   39 14 18 ?? cmp dword ds:[eax + ebx], edx
   74 19 ?? je basic block L8
  
  L6: 8b 4e 04 ?? mov ecx, dword ds:[esi + 4]
   8b 54 0f 08 ?? mov edx, dword ds:[edi + ecx + 8]
   8b 45 04 ?? mov eax, dword ss:[ebp + 4]
   52 ?? push edx
   50 ?? push eax
   e8 33 09 00 00 ?? call function 0x00401e40
  
  L7: 83 c4 08 ?? add esp, 8
   ba cc cc cc cc ?? mov edx, 0xcccccccc
  
  L8: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   40 ?? inc eax
   83 c7 0c ?? add edi, 12
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   3b 06 ?? cmp eax, dword ds:[esi]
   7c bd ?? jl basic block L4
  
  L9: eb 05 ?? jmp basic block L11
  
  L10: ba cc cc cc cc ?? mov edx, 0xcccccccc
  
  L11: 8b 75 08 ?? mov esi, dword ss:[ebp + 8]
   33 ff ?? xor edi, edi
   8b c6 ?? mov eax, esi
   85 f6 ?? test esi, esi
   74 56 ?? je basic block L24
  
  L12: 8b 40 04 ?? mov eax, dword ds:[eax + 4]
   47 ?? inc edi
   85 c0 ?? test eax, eax
   75 f8 ?? jne basic block L12
  
  L13: 85 f6 ?? test esi, esi
   74 4a ?? je basic block L24
  
  L14: 39 16 ?? cmp dword ds:[esi], edx
   75 0f ?? jne basic block L18
  
  L15: 39 56 14 ?? cmp dword ds:[esi + 0x14<20>], edx
   75 0a ?? jne basic block L18
  
  L16: 39 56 18 ?? cmp dword ds:[esi + 0x18<24>], edx
   75 05 ?? jne basic block L18
  
  L17: 39 56 1c ?? cmp dword ds:[esi + 0x1c<28>], edx
   74 13 ?? je basic block L20
  
  L18: 8b 4d 04 ?? mov ecx, dword ss:[ebp + 4]
   57 ?? push edi
   56 ?? push esi
   51 ?? push ecx
   e8 e1 09 00 00 ?? call function 0x00401f40
  
  L19: 83 c4 0c ?? add esp, 12
   ba cc cc cc cc ?? mov edx, 0xcccccccc
  
  L20: 8b 46 0c ?? mov eax, dword ds:[esi + 12]
   39 54 30 fc ?? cmp dword ds:[eax + esi + 0xfc<252,-4>], edx
   74 13 ?? je basic block L23
  
  L21: 8b 4d 04 ?? mov ecx, dword ss:[ebp + 4]
   57 ?? push edi
   56 ?? push esi
   51 ?? push ecx
   e8 c5 09 00 00 ?? call function 0x00401f40
  
  L22: 83 c4 0c ?? add esp, 12
   ba cc cc cc cc ?? mov edx, 0xcccccccc
  
  L23: 8b 76 04 ?? mov esi, dword ds:[esi + 4]
   4f ?? dec edi
   85 f6 ?? test esi, esi
   75 b6 ?? jne basic block L14
  
  L24: 5f ?? pop edi
   5e ?? pop esi
   5b ?? pop ebx
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c2 04 00 ?? ret 4
  
  