Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   51 ?? push ecx
   53 ?? push ebx
   56 ?? push esi
   57 ?? push edi
   6a 24 ?? push 0x24<36>
   e8 06 fb ff ff ?? call function 0x004010b4
  
  L2: 8b f0 ?? mov esi, eax
   83 c4 04 ?? add esp, 4
   a1 20 82 40 00 ?? mov eax, dword ds:[0x00408220]
   89 75 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], esi
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   85 f6 ?? test esi, esi
   74 7e ?? je basic block L7
  
  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>
   c7 46 0c ff ff ff ff ?? mov dword ds:[esi + 12], 0xffffffff<4294967295,-1>
   c7 46 10 48 5b 40 00 ?? mov dword ds:[esi + 0x10<16>], 0x00405b48
   c7 46 14 9c ff ff ff ?? mov dword ds:[esi + 0x14<20>], 0xffffff9c<4294967196,-100>
   c6 46 18 41 ?? mov byte ds:[esi + 0x18<24>], 0x41<65>
   c7 46 1c 9c ff ff ff ?? mov dword ds:[esi + 0x1c<28>], 0xffffff9c<4294967196,-100>
   c7 06 5c 5b 40 00 ?? mov dword ds:[esi], 0x00405b5c
   c7 46 10 70 5b 40 00 ?? mov dword ds:[esi + 0x10<16>], 0x00405b70
   ff d0 ?? call eax
  
  L4: 99 ?? cdq
   b9 0a 00 00 00 ?? mov ecx, 10
   f7 f9 ?? idiv ecx
   85 d2 ?? test edx, edx
   74 1c ?? je basic block L6
  
  L5: b8 02 00 00 00 ?? mov eax, 2
   c7 46 04 03 00 00 00 ?? mov dword ds:[esi + 4], 3
   c6 46 08 63 ?? mov byte ds:[esi + 8], 0x63<99>
   c7 46 0c fd ff ff ff ?? mov dword ds:[esi + 12], 0xfffffffd<4294967293,-3>
   89 46 20 ?? mov dword ds:[esi + 0x20<32>], eax
   eb 1e ?? jmp basic block L8
  
  L6: b8 01 00 00 00 ?? mov eax, 1
   c7 46 14 c8 00 00 00 ?? mov dword ds:[esi + 0x14<20>], 0x000000c8<200>
   c6 46 18 42 ?? mov byte ds:[esi + 0x18<24>], 0x42<66>
   c7 46 1c 38 ff ff ff ?? mov dword ds:[esi + 0x1c<28>], 0xffffff38<4294967096,-200>
   89 46 20 ?? mov dword ds:[esi + 0x20<32>], eax
   eb 02 ?? jmp basic block L8
  
  L7: 33 f6 ?? xor esi, esi
  
  L8: 8b 06 ?? mov eax, dword ds:[esi]
   8b 50 08 ?? mov edx, dword ds:[eax + 8]
   81 fa 73 10 40 00 ?? cmp edx, 0x00401073
   75 06 ?? jne basic block L10
  
  L9: 8b 5e 20 ?? mov ebx, dword ds:[esi + 0x20<32>]
   43 ?? inc ebx
   eb 08 ?? jmp basic block L12
  
  L10: 8b ce ?? mov ecx, esi
   ff d2 ?? call edx
  
  L11: 8b d8 ?? mov ebx, eax
   8b 06 ?? mov eax, dword ds:[esi]
  
  L12: 8b 40 08 ?? mov eax, dword ds:[eax + 8]
   3d 73 10 40 00 ?? cmp eax, 0x00401073
   75 06 ?? jne basic block L14
  
  L13: 8b 7e 20 ?? mov edi, dword ds:[esi + 0x20<32>]
   47 ?? inc edi
   eb 06 ?? jmp basic block L16
  
  L14: 8b ce ?? mov ecx, esi
   ff d0 ?? call eax
  
  L15: 8b f8 ?? mov edi, eax
  
  L16: 6a 10 ?? push 0x10<16>
   56 ?? push esi
   e8 d5 f9 ff ff ?? call function 0x00401050
  
  L17: 83 c4 08 ?? add esp, 8
   ff 55 fc ?? call dword ss:[ebp + 0xfc<252,-4>]
  
  L18: 03 c7 ?? add eax, edi
   5f ?? pop edi
   5e ?? pop esi
   03 c3 ?? add eax, ebx
   5b ?? pop ebx
   8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  