Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   6a ff ?? push 0xff<255,-1>
   68 ab 4c 40 00 ?? push 0x00404cab
   64 a1 00 00 00 00 ?? mov eax, dword fs:[0]
   50 ?? push eax
   83 ec 30 ?? sub esp, 0x30<48>
   56 ?? push esi
   57 ?? push edi
   8d 7d c4 ?? lea edi, ss:[ebp + 0xc4<196,-60>]
   b9 0c 00 00 00 ?? mov ecx, 12
   b8 cc cc cc cc ?? mov eax, 0xcccccccc
   f3 ab ?? rep_stosd
   a1 00 90 40 00 ?? mov eax, dword ds:[0x00409000]
   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 10 ?? push 0x10<16>
   e8 cd 03 00 00 ?? call function 0x0040146a
  
  L2: 83 c4 04 ?? add esp, 4
   89 45 d4 ?? mov dword ss:[ebp + 0xd4<212,-44>], eax
   c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
   83 7d d4 00 ?? cmp dword ss:[ebp + 0xd4<212,-44>], 0
   74 0d ?? je basic block L5
  
  L3: 8b 4d d4 ?? mov ecx, dword ss:[ebp + 0xd4<212,-44>]
   e8 6b ff ff ff ?? call function 0x00401023
  
  L4: 89 45 c8 ?? mov dword ss:[ebp + 0xc8<200,-56>], eax
   eb 07 ?? jmp basic block L6
  
  L5: c7 45 c8 00 00 00 00 ?? mov dword ss:[ebp + 0xc8<200,-56>], 0
  
  L6: 8b 45 c8 ?? mov eax, dword ss:[ebp + 0xc8<200,-56>]
   89 45 d8 ?? mov dword ss:[ebp + 0xd8<216,-40>], eax
   c7 45 fc ff ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xffffffff<4294967295,-1>
   8b 4d d8 ?? mov ecx, dword ss:[ebp + 0xd8<216,-40>]
   89 4d f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], ecx
   8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   e8 26 ff ff ff ?? call function 0x00401005
  
  L7: 8d 4d e4 ?? lea ecx, ss:[ebp + 0xe4<228,-28>]
   e8 23 ff ff ff ?? call function 0x0040100a
  
  L8: 8d 4d e4 ?? lea ecx, ss:[ebp + 0xe4<228,-28>]
   e8 39 ff ff ff ?? call function 0x00401028
  
  L9: 8b f0 ?? mov esi, eax
   6a 05 ?? push 5
   8b 55 e8 ?? mov edx, dword ss:[ebp + 0xe8<232,-24>]
   52 ?? push edx
   8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
   50 ?? push eax
   8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   e8 16 ff ff ff ?? call function 0x00401019
  
  L10: 03 f0 ?? add esi, eax
   89 75 dc ?? mov dword ss:[ebp + 0xdc<220,-36>], esi
   8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
   89 4d cc ?? mov dword ss:[ebp + 0xcc<204,-52>], ecx
   8b 55 cc ?? mov edx, dword ss:[ebp + 0xcc<204,-52>]
   89 55 d0 ?? mov dword ss:[ebp + 0xd0<208,-48>], edx
   83 7d d0 00 ?? cmp dword ss:[ebp + 0xd0<208,-48>], 0
   74 0f ?? je basic block L13
  
  L11: 6a 01 ?? push 1
   8b 4d d0 ?? mov ecx, dword ss:[ebp + 0xd0<208,-48>]
   e8 f0 fe ff ff ?? call function 0x00401014
  
  L12: 89 45 c4 ?? mov dword ss:[ebp + 0xc4<196,-60>], eax
   eb 07 ?? jmp basic block L14
  
  L13: c7 45 c4 00 00 00 00 ?? mov dword ss:[ebp + 0xc4<196,-60>], 0
  
  L14: 33 c0 ?? xor eax, eax
   52 ?? push edx
   8b cd ?? mov ecx, ebp
   50 ?? push eax
   8d 15 60 11 40 00 ?? lea edx, ds:[0x00401160]
   e8 5f 04 00 00 ?? call function 0x004015a0
  
  L15: 58 ?? pop eax
   5a ?? pop edx
   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
   5f ?? pop edi
   5e ?? pop esi
   83 c4 3c ?? add esp, 0x3c<60>
   3b ec ?? cmp ebp, esp
   e8 a6 04 00 00 ?? call function 0x00401600
  
  L16: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  