Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a ff ?? push 0xff<255,-1>
   68 48 46 40 00 ?? push 0x00404648
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   83 ec 18 ?? sub esp, 0x18<24>
   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 03 ?? push 3
   68 30 6b 40 00 ?? push 0x00406b30<"bar">
   8d 4d dc ?? lea ecx, ss:[ebp + 0xdc<220,-36>]
   c7 45 ec 00 00 00 00 ?? mov dword ss:[ebp + 0xec<236,-20>], 0
   c7 45 f0 0f 00 00 00 ?? mov dword ss:[ebp + 0xf0<240,-16>], 15
   c6 45 dc 00 ?? mov byte ss:[ebp + 0xdc<220,-36>], 0
   e8 21 f7 ff ff ?? call function 0x00401208
  
  L2: 8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   33 f6 ?? xor esi, esi
   0f af 45 08 ?? imul eax, dword ss:[ebp + 8]
   c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
   85 c0 ?? test eax, eax
   7e 3b ?? jle basic block L7
  
  L3: 0f 1f 44 00 00 ?? nop dword ds:[eax + eax + 0]
  
  L4: 83 7d f0 10 ?? cmp dword ss:[ebp + 0xf0<240,-16>], 0x10<16>
   8d 45 dc ?? lea eax, ss:[ebp + 0xdc<220,-36>]
   68 9f 11 40 00 ?? push 0x0040119f
   ff 75 ec ?? push dword ss:[ebp + 0xec<236,-20>]
   0f 43 45 dc ?? cmovae eax, dword ss:[ebp + 0xdc<220,-36>]
   50 ?? push eax
   ff 35 90 90 40 00 ?? push dword ds:[0x00409090]
   e8 6d f5 ff ff ?? call function 0x0040108c
  
  L5: 83 c4 0c ?? add esp, 12
   8b c8 ?? mov ecx, eax
   ff 15 74 90 40 00 ?? call dword ds:[function 0x00409074]
  
  L6: 8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   46 ?? inc esi
   0f af 45 08 ?? imul eax, dword ss:[ebp + 8]
   3b f0 ?? cmp esi, eax
   7c ca ?? jl basic block L4
  
  L7: 8b 55 f0 ?? mov edx, dword ss:[ebp + 0xf0<240,-16>]
   83 fa 10 ?? cmp edx, 0x10<16>
   72 2e ?? jb basic block L13
  
  L8: 8b 4d dc ?? mov ecx, dword ss:[ebp + 0xdc<220,-36>]
   42 ?? inc edx
   8b c1 ?? mov eax, ecx
   81 fa 00 10 00 00 ?? cmp edx, 0x00001000<4096>
   72 16 ?? jb basic block L11
  
  L9: 8b 49 fc ?? mov ecx, dword ds:[ecx + 0xfc<252,-4>]
   83 c2 23 ?? add edx, 0x23<35>
   2b c1 ?? sub eax, ecx
   83 c0 fc ?? add eax, 0xfc<252,-4>
   83 f8 1f ?? cmp eax, 0x1f<31>
   76 06 ?? jbe basic block L11
  
  L10: ff 15 f8 91 40 00 ?? call dword ds:[0x004091f8]
  
  L11: 52 ?? push edx
   51 ?? push ecx
   e8 09 f6 ff ff ?? call function 0x00401172
  
  L12: 83 c4 08 ?? add esp, 8
  
  L13: 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
  
  