Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a ff ?? push 0xff<255,-1>
   68 04 41 40 00 ?? push 0x00404104
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   51 ?? push ecx
   56 ?? push esi
   a1 04 80 40 00 ?? mov eax, dword ds:[0x00408004]
   33 c5 ?? xor eax, ebp
   50 ?? push eax
   8d 45 f4 ?? lea eax, ss:[ebp + 0xf4<244,-12>]
   64 a3 00 00 00 00 ?? mov dword fs:[0], eax
   6a 10 ?? push 0x10<16>
   e8 c4 fb ff ff ?? call function 0x004010af
  
  L2: 8b f0 ?? mov esi, eax
   83 c4 04 ?? add esp, 4
   89 75 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], esi
   c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
   85 f6 ?? test esi, esi
   74 6c ?? je basic block L15
  
  L3: c7 46 04 01 00 00 00 ?? mov dword ds:[esi + 4], 1
   c6 46 08 61 ?? mov byte ds:[esi + 8], 0x61<97>
   ff 15 20 92 40 00 ?? call dword ds:[0x00409220]
  
  L4: 99 ?? cdq
   b9 0a 00 00 00 ?? mov ecx, 10
   f7 f9 ?? idiv ecx
   85 d2 ?? test edx, edx
   74 29 ?? je basic block L9
  
  L5: 6a 08 ?? push 8
   e8 8d fb ff ff ?? call function 0x004010af
  
  L6: 8b c8 ?? mov ecx, eax
   83 c4 04 ?? add esp, 4
   89 4d f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], ecx
   85 c9 ?? test ecx, ecx
   74 0f ?? je basic block L8
  
  L7: c7 01 01 00 00 00 ?? mov dword ds:[ecx], 1
   c6 41 04 61 ?? mov byte ds:[ecx + 4], 0x61<97>
   89 4e 0c ?? mov dword ds:[esi + 12], ecx
   eb 0a ?? jmp basic block L10
  
  L8: 33 c9 ?? xor ecx, ecx
   89 4e 0c ?? mov dword ds:[esi + 12], ecx
   eb 03 ?? jmp basic block L10
  
  L9: 8b 4e 0c ?? mov ecx, dword ds:[esi + 12]
  
  L10: 0f be 46 08 ?? movsx eax, byte ds:[esi + 8]
   03 46 04 ?? add eax, dword ds:[esi + 4]
   89 06 ?? mov dword ds:[esi], eax
   85 c9 ?? test ecx, ecx
   74 0b ?? je basic block L13
  
  L11: 6a 08 ?? push 8
   51 ?? push ecx
   e8 f4 fa ff ff ?? call function 0x00401050
  
  L12: 83 c4 08 ?? add esp, 8
  
  L13: 6a 10 ?? push 0x10<16>
   56 ?? push esi
   e8 e9 fa ff ff ?? call function 0x00401050
  
  L14: 83 c4 08 ?? add esp, 8
  
  L15: 33 c0 ?? xor eax, eax
   8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
   64 89 0d 00 00 00 00 ?? mov dword fs:[0], ecx
   59 ?? pop ecx
   5e ?? pop esi
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  