Disassembly: 
  L1: 8b ff ?? mov edi, edi
   55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   57 ?? push edi
   8b f8 ?? mov edi, eax
   33 c0 ?? xor eax, eax
   8b cf ?? mov ecx, edi
   85 ff ?? test edi, edi
   74 46 ?? je basic block L13
  
  L2: 39 07 ?? cmp dword ds:[edi], eax
   74 09 ?? je basic block L4
  
  L3: 83 c1 04 ?? add ecx, 4
   40 ?? inc eax
   83 39 00 ?? cmp dword ds:[ecx], 0
   75 f7 ?? jne basic block L3
  
  L4: 56 ?? push esi
   40 ?? inc eax
   6a 04 ?? push 4
   50 ?? push eax
   e8 e0 df fe ff ?? call function 0x00406a1b
  
  L5: 8b f0 ?? mov esi, eax
   59 ?? pop ecx
   59 ?? pop ecx
   89 75 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], esi
   85 f6 ?? test esi, esi
   75 18 ?? jne basic block L11
  
  L6: 6a 09 ?? push 9
   e8 4b bb fe ff ?? call function 0x00404598
  
  L7: eb 0e ?? jmp basic block L10
  
  L8: 50 ?? push eax
   e8 63 02 00 00 ?? call function 0x00418cb8
  
  L9: 89 06 ?? mov dword ds:[esi], eax
   83 c6 04 ?? add esi, 4
   83 c7 04 ?? add edi, 4
  
  L10: 59 ?? pop ecx
  
  L11: 8b 07 ?? mov eax, dword ds:[edi]
   85 c0 ?? test eax, eax
   75 eb ?? jne basic block L8
  
  L12: 21 06 ?? and dword ds:[esi], eax
   8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
   5e ?? pop esi
  
  L13: 5f ?? pop edi
   c9 ?? leave
   c3 ?? ret
  
  