Disassembly: 
  L1: 55 ?? push ebp
   8b ec ?? mov ebp, esp
   83 ec 0c ?? sub esp, 12
   56 ?? push esi
   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
   8b 45 08 ?? mov eax, dword ss:[ebp + 8]
   83 c0 27 ?? add eax, 0x27<39>
   89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
   8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
   3b 4d 08 ?? cmp ecx, dword ss:[ebp + 8]
   77 07 ?? ja basic block L3
  
  L2: c7 45 fc ff ff ff ff ?? mov dword ss:[ebp + 0xfc<252,-4>], 0xffffffff<4294967295,-1>
  
  L3: 8b 55 fc ?? mov edx, dword ss:[ebp + 0xfc<252,-4>]
   52 ?? push edx
   e8 0a f5 ff ff ?? call function 0x004010d7
  
  L4: 83 c4 04 ?? add esp, 4
   89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
  
  L5: 83 7d f8 00 ?? cmp dword ss:[ebp + 0xf8<248,-8>], 0
   74 02 ?? je basic block L7
  
  L6: eb 56 ?? jmp basic block L14
  
  L7: 8b f4 ?? mov esi, esp
   68 34 ab 40 00 ?? push 0x0040ab34<"invalid argument">
   68 48 ab 40 00 ?? push 0x0040ab48<"%s">
   6a 00 ?? push 0
   6a 65 ?? push 0x65<101>
   68 80 ab 40 00 ?? push 0x0040ab80<"C:\\Program Files (x86)\\Mi"+80 more>
   6a 02 ?? push 2
   ff 15 ec e1 40 00 ?? call dword ds:[0x0040e1ec]
  
  L8: 83 c4 18 ?? add esp, 0x18<24>
   3b f4 ?? cmp esi, esp
   e8 ab f6 ff ff ?? call function 0x004012ad
  
  L9: 83 f8 01 ?? cmp eax, 1
   75 01 ?? jne basic block L11
  
  L10: cc ?? int3
  
  L11: 8b f4 ?? mov esi, esp
   6a 00 ?? push 0
   6a 65 ?? push 0x65<101>
   68 00 ac 40 00 ?? push 0x0040ac00<"C:\\Program Files (x86)\\Mi"+80 more>
   68 70 ad 40 00 ?? push 0x0040ad70<"std::_Allocate_manually_v"+13 more>
   68 4c ab 40 00 ?? push 0x0040ab4c<"\"invalid argument\"">
   ff 15 f0 e1 40 00 ?? call dword ds:[0x0040e1f0]
  
  L12: 83 c4 14 ?? add esp, 0x14<20>
   3b f4 ?? cmp esi, esp
   e8 80 f6 ff ff ?? call function 0x004012ad
  
  L13: 33 c9 ?? xor ecx, ecx
   75 aa ?? jne basic block L7
  
  L14: 33 d2 ?? xor edx, edx
   75 9e ?? jne basic block L5
  
  L15: 8b 45 f8 ?? mov eax, dword ss:[ebp + 0xf8<248,-8>]
   83 c0 27 ?? add eax, 0x27<39>
   83 e0 e0 ?? and eax, 0xe0<224,-32>
   89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
   b9 04 00 00 00 ?? mov ecx, 4
   6b d1 ff ?? imul edx, ecx, 0xff<255,-1>
   8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
   8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
   89 0c 10 ?? mov dword ds:[eax + edx], ecx
   ba 04 00 00 00 ?? mov edx, 4
   6b c2 fe ?? imul eax, edx, 0xfe<254,-2>
   8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
   c7 04 01 fa fa fa fa ?? mov dword ds:[ecx + eax], 0xfafafafa
   8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
   5e ?? pop esi
   83 c4 0c ?? add esp, 12
   3b ec ?? cmp ebp, esp
   e8 3b f6 ff ff ?? call function 0x004012ad
  
  L16: 8b e5 ?? mov esp, ebp
   5d ?? pop ebp
   c3 ?? ret
  
  