Disassembly: 
  L1: 56 ?? push esi
   57 ?? push edi
   6a 1c ?? push 0x1c<28>
   ff 15 8c 20 40 00 ?? call dword ds:[0x0040208c<"8#@">]
  
  L2: 8b f8 ?? mov edi, eax
   83 c4 04 ?? add esp, 4
   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 98 20 40 00 ?? call dword ds:[0x00402098<" #@">]
  
  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 47 04 ?? movsx eax, byte ds:[edi + 4]
   03 07 ?? add eax, dword ds:[edi]
   89 47 18 ?? mov dword ds:[edi + 0x18<24>], eax
   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]
   57 ?? push edi
   ff 15 90 20 40 00 ?? call dword ds:[0x00402090<"(#@">]
  
  L9: 83 c4 04 ?? add esp, 4
   8b c6 ?? mov eax, esi
   5f ?? pop edi
   5e ?? pop esi
   c3 ?? ret
  
  