Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a ff ?? push 0xff<255,-1>
   68 6d 35 40 00 ?? push 0x0040356d
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   83 ec 1c ?? sub esp, 0x1c<28>
   56 ?? push esi
   a1 04 60 40 00 ?? mov eax, dword ds:[0x00406004]
   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
   66 a1 08 42 40 00 ?? mov ax, word ds:[0x00404208<"bar">]
   b9 0f 00 00 00 ?? mov ecx, 15
   c7 45 d8 00 00 00 00 ?? mov dword ss:[ebp + 0xd8<216,-40>], 0
   66 89 45 d8 ?? mov word ss:[ebp + 0xd8<216,-40>], ax
   a0 0a 42 40 00 ?? mov al, byte ds:[0x0040420a<"r">]
   89 4d ec ?? mov dword ss:[ebp + 0xec<236,-20>], ecx
   c7 45 e8 03 00 00 00 ?? mov dword ss:[ebp + 0xe8<232,-24>], 3
   88 45 da ?? mov byte ss:[ebp + 0xda<218,-38>], al
   c6 45 db 00 ?? mov byte ss:[ebp + 0xdb<219,-37>], 0
   c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
   33 f6 ?? xor esi, esi
   8b 45 0c ?? mov eax, dword ss:[ebp + 12]
   0f af 45 08 ?? imul eax, dword ss:[ebp + 8]
   85 c0 ?? test eax, eax
   7e 38 ?? jle basic block L7
  
  L2: 66 66 0f 1f 84 00 00 00 ?? nop word ds:[eax + eax + 0]
   00 00
  
  L3: 68 30 1c 40 00 ?? push function 0x00401c30
   51 ?? push ecx
   8b 0d 5c 40 40 00 ?? mov ecx, dword ds:[0x0040405c<"<L@">]
   8d 55 d8 ?? lea edx, ss:[ebp + 0xd8<216,-40>]
   e8 ac 07 00 00 ?? call function 0x00401c10
  
  L4: 83 c4 04 ?? add esp, 4
   8b c8 ?? mov ecx, eax
   ff 15 80 40 40 00 ?? call dword ds:[function 0x00404080]
  
  L5: 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 d5 ?? jl basic block L3
  
  L6: 8b 4d ec ?? mov ecx, dword ss:[ebp + 0xec<236,-20>]
  
  L7: 83 f9 10 ?? cmp ecx, 0x10<16>
   72 30 ?? jb basic block L13
  
  L8: 8d 51 01 ?? lea edx, ds:[ecx + 1]
   8b 4d d8 ?? mov ecx, dword ss:[ebp + 0xd8<216,-40>]
   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 fc 40 40 00 ?? call dword ds:[0x004040fc]
  
  L11: 52 ?? push edx
   51 ?? push ecx
   e8 4a 0d 00 00 ?? call function 0x004021fa
  
  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
  
  