Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 0c ?? sub esp, 12
   c7 45 f4 cc cc cc cc ?? mov dword ss:[ebp + 0xf4<244,-12>], 0xcccccccc
   c7 45 f8 cc cc cc cc ?? mov dword ss:[ebp + 0xf8<248,-8>], 0xcccccccc
   c7 45 fc cc cc cc cc ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xcccccccc
   89 4d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ecx
   8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   e8 4e d9 ff ff ?? call function 0x00401474
  
  L2: 3b 45 08 ?? cmp eax, dword ss:[ebp + 8]
   73 08 ?? jae basic block L4
  
  L3: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   e8 97 d8 ff ff ?? call function 0x004013ca
  
  L4: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   e8 87 d6 ff ff ?? call function 0x004011c2
  
  L5: 8b 00 ?? mov eax, dword ds:[eax]
   3b 45 08 ?? cmp eax, dword ss:[ebp + 8]
   73 19 ?? jae basic block L9
  
  L6: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   e8 e1 d6 ff ff ?? call function 0x0040122b
  
  L7: 8b 08 ?? mov ecx, dword ds:[eax]
   51 ?? push ecx
   8b 55 08 ?? mov edx, dword ss:[ebp + 8]
   52 ?? push edx
   8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   e8 d3 d5 ff ff ?? call function 0x0040112c
  
  L8: eb 52 ?? jmp basic block L20
  
  L9: 0f b6 45 0c ?? movzx eax, byte ss:[ebp + 12]
   85 c0 ?? test eax, eax
   74 3a ?? je basic block L18
  
  L10: 83 7d 08 10 ?? cmp dword ss:[ebp + 8], 0x10<16>
   73 34 ?? jae basic block L18
  
  L11: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   e8 ba d6 ff ff ?? call function 0x0040122b
  
  L12: 8b 4d 08 ?? mov ecx, dword ss:[ebp + 8]
   3b 08 ?? cmp ecx, dword ds:[eax]
   73 08 ?? jae basic block L14
  
  L13: 8b 55 08 ?? mov edx, dword ss:[ebp + 8]
   89 55 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], edx
   eb 0d ?? jmp basic block L16
  
  L14: 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   e8 a3 d6 ff ff ?? call function 0x0040122b
  
  L15: 8b 00 ?? mov eax, dword ds:[eax]
   89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
  
  L16: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
   51 ?? push ecx
   6a 01 ?? push 1
   8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   e8 05 d5 ff ff ?? call function 0x004010a0
  
  L17: eb 10 ?? jmp basic block L20
  
  L18: 83 7d 08 00 ?? cmp dword ss:[ebp + 8], 0
   75 0a ?? jne basic block L20
  
  L19: 6a 00 ?? push 0
   8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   e8 37 d7 ff ff ?? call function 0x004012e4
  
  L20: 83 7d 08 00 ?? cmp dword ss:[ebp + 8], 0
   76 09 ?? jbe basic block L22
  
  L21: c7 45 f4 01 00 00 00 ?? mov dword ss:[ebp + 0xf4<244,-12>], 1
   eb 07 ?? jmp basic block L23
  
  L22: c7 45 f4 00 00 00 00 ?? mov dword ss:[ebp + 0xf4<244,-12>], 0
  
  L23: 8a 45 f4 ?? mov al, byte ss:[ebp + 0xf4<244,-12>]
   83 c4 0c ?? add esp, 12
   3b ec ?? cmp ebp, esp
   e8 e8 d5 ff ff ?? call function 0x004011b8
  
  L24: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c2 08 00 ?? ret 8
  
  