Disassembly: 
  L1: 56 ?? push esi
   57 ?? push edi
   6a 1c ?? push 0x1c<28>
   ff 15 9c 20 40 00 ?? call dword ds:[0x0040209c<"(#@">]
  
  L2: 8b f0 ?? mov esi, eax
   83 c4 04 ?? add esp, 4
   85 f6 ?? test esi, esi
   74 4b ?? je basic block L7
  
  L3: c7 06 01 00 00 00 ?? mov dword ds:[esi], 1
   c6 46 04 61 ?? mov byte ds:[esi + 4], 0x61<97>
   c7 46 08 ff ff ff ff ?? mov dword ds:[esi + 8], 0xffffffff<4294967295,-1>
   b8 9c ff ff ff ?? mov eax, 0xffffff9c<4294967196,-100>
   89 46 0c ?? mov dword ds:[esi + 12], eax
   c6 46 10 41 ?? mov byte ds:[esi + 0x10<16>], 0x41<65>
   89 46 14 ?? mov dword ds:[esi + 0x14<20>], eax
   ff 15 a8 20 40 00 ?? call dword ds:[0x004020a8]
  
  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 56 04 ?? movsx edx, byte ds:[esi + 4]
   03 16 ?? add edx, dword ds:[esi]
   89 56 18 ?? mov dword ds:[esi + 0x18<24>], edx
   eb 10 ?? jmp basic block L8
  
  L6: 0f be 46 10 ?? movsx eax, byte ds:[esi + 0x10<16>]
   8b 4e 0c ?? mov ecx, dword ds:[esi + 12]
   2b c8 ?? sub ecx, eax
   89 4e 18 ?? mov dword ds:[esi + 0x18<24>], ecx
   eb 02 ?? jmp basic block L8
  
  L7: 33 f6 ?? xor esi, esi
  
  L8: 0f be 7e 04 ?? movsx edi, byte ds:[esi + 4]
   03 3e ?? add edi, dword ds:[esi]
   56 ?? push esi
   ff 15 a0 20 40 00 ?? call dword ds:[0x004020a0]
  
  L9: 83 c4 04 ?? add esp, 4
   8b c7 ?? mov eax, edi
   5f ?? pop edi
   5e ?? pop esi
   c3 ?? ret
  
  