Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   56 ?? push esi
   8b f1 ?? mov esi, ecx
   8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   c7 46 14 0f 00 00 00 ?? mov dword ds:[esi + 0x14<20>], 15
   c7 46 10 00 00 00 00 ?? mov dword ds:[esi + 0x10<16>], 0
   c6 06 00 ?? mov byte ds:[esi], 0
   80 39 00 ?? cmp byte ds:[ecx], 0
   75 12 ?? jne basic block L4
  
  L2: 33 d2 ?? xor edx, edx
   52 ?? push edx
   51 ?? push ecx
   8b ce ?? mov ecx, esi
   e8 bb f8 ff ff ?? call function 0x00401055
  
  L3: 8b c6 ?? mov eax, esi
   5e ?? pop esi
   5d ?? pop ebp
   c2 04 00 ?? ret 4
  
  L4: 8b d1 ?? mov edx, ecx
   57 ?? push edi
   8d 7a 01 ?? lea edi, ds:[edx + 1]
  
  L5: 8a 02 ?? mov al, byte ds:[edx]
   42 ?? inc edx
   84 c0 ?? test al, al
  
  L6: 75 f9 ?? jne basic block L5
  
  L7: 2b d7 ?? sub edx, edi
   5f ?? pop edi
   52 ?? push edx
   51 ?? push ecx
   8b ce ?? mov ecx, esi
   e8 9b f8 ff ff ?? call function 0x00401055
  
  L8: 8b c6 ?? mov eax, esi
   5e ?? pop esi
   5d ?? pop ebp
   c2 04 00 ?? ret 4
  
  