Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   56 ?? push esi
   57 ?? push edi
   6a 1c ?? push 0x1c<28>
   e8 b7 fb ff ff ?? call function 0x004010b4
  
  L2: 8b f8 ?? mov edi, eax
   83 c4 04 ?? add esp, 4
   89 7d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edi
   85 ff ?? test edi, edi
   74 4e ?? je basic block L7
  
  L3: c7 07 01 00 00 00 ?? mov dword ds:[edi], 1
   c6 47 04 61 ?? mov byte ds:[edi + 4], 0x61<97>
   c7 47 08 ff ff ff ff ?? mov dword ds:[edi + 8], 0xffffffff<4294967295,-1>
   c7 47 0c 9c ff ff ff ?? mov dword ds:[edi + 12], 0xffffff9c<4294967196,-100>
   c6 47 10 41 ?? mov byte ds:[edi + 0x10<16>], 0x41<65>
   c7 47 14 9c ff ff ff ?? mov dword ds:[edi + 0x14<20>], 0xffffff9c<4294967196,-100>
   ff 15 1c 82 40 00 ?? call dword ds:[0x0040821c]
  
  L4: 99 ?? cdq
   b9 0a 00 00 00 ?? mov ecx, 10
   f7 f9 ?? idiv ecx
   85 d2 ?? test edx, edx
   74 0b ?? je basic block L6
  
  L5: 0f be 4f 04 ?? movsx ecx, byte ds:[edi + 4]
   03 0f ?? add ecx, dword ds:[edi]
   89 4f 18 ?? mov dword ds:[edi + 0x18<24>], ecx
   eb 10 ?? jmp basic block L8
  
  L6: 0f be 47 10 ?? movsx eax, byte ds:[edi + 0x10<16>]
   8b 4f 0c ?? mov ecx, dword ds:[edi + 12]
   2b c8 ?? sub ecx, eax
   89 4f 18 ?? mov dword ds:[edi + 0x18<24>], ecx
   eb 02 ?? jmp basic block L8
  
  L7: 33 ff ?? xor edi, edi
  
  L8: 0f be 77 04 ?? movsx esi, byte ds:[edi + 4]
   03 37 ?? add esi, dword ds:[edi]
   6a 0c ?? push 12
   57 ?? push edi
   e8 e9 fa ff ff ?? call function 0x00401050
  
  L9: 83 c4 08 ?? add esp, 8
   8b c6 ?? mov eax, esi
   5f ?? pop edi
   5e ?? pop esi
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  