
L1: 55 ?? push ebp
 8b ec ?? mov ebp, esp
 83 ec 10 ?? sub esp, 0x10<16>
 56 ?? push esi
 b8 cc cc cc cc ?? mov eax, 0xcccccccc
 89 45 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], eax
 89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
 89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
 c7 45 fc 00 00 00 00 ?? mov dword ss:[ebp + 0xfc<252,-4>], 0
 83 7d 08 00 ?? cmp dword ss:[ebp + 8], 0
 75 08 ?? jne basic block L3

L2: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
 e9 7b 01 00 00 ?? jmp basic block L33

L3: 83 c8 ff ?? or eax, 0xff<255,-1>
 33 d2 ?? xor edx, edx
 f7 75 0c ?? div dword ss:[ebp + 12]
 3b 45 08 ?? cmp eax, dword ss:[ebp + 8]
 73 0f ?? jae basic block L6

L4: 8b f4 ?? mov esi, esp
 ff 15 9c f0 40 00 ?? call dword ds:[0x0040f09c]

L5: 3b f4 ?? cmp esi, esp
 e8 cf db ff ff ?? call function 0x00401168

L6: 8b 45 08 ?? mov eax, dword ss:[ebp + 8]
 0f af 45 0c ?? imul eax, dword ss:[ebp + 12]
 89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
 0f b6 4d 10 ?? movzx ecx, byte ss:[ebp + 0x10<16>]
 85 c9 ?? test ecx, ecx
 0f 84 d2 00 00 00 ?? je basic block L22

L7: 81 7d f8 00 10 00 00 ?? cmp dword ss:[ebp + 0xf8<248,-8>], 0x00001000<4096>
 0f 82 c5 00 00 00 ?? jb basic block L22

L8: 8b 55 f8 ?? mov edx, dword ss:[ebp + 0xf8<248,-8>]
 83 c2 27 ?? add edx, 0x27<39>
 89 55 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], edx
 8b 45 f4 ?? mov eax, dword ss:[ebp + 0xf4<244,-12>]
 3b 45 f8 ?? cmp eax, dword ss:[ebp + 0xf8<248,-8>]
 77 0f ?? ja basic block L11

L9: 8b f4 ?? mov esi, esp
 ff 15 9c f0 40 00 ?? call dword ds:[0x0040f09c]

L10: 3b f4 ?? cmp esi, esp
 e8 8c db ff ff ?? call function 0x00401168

L11: 8b 4d f4 ?? mov ecx, dword ss:[ebp + 0xf4<244,-12>]
 51 ?? push ecx
 e8 09 dd ff ff ?? call function 0x004012ee

L12: 83 c4 04 ?? add esp, 4
 89 45 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], eax
 83 7d f0 00 ?? cmp dword ss:[ebp + 0xf0<240,-16>], 0
 75 5f ?? jne basic block L21

L13: ba 88 bc 40 00 ?? mov edx, 0x0040bc88<"_Ptr_container != 0">
 85 d2 ?? test edx, edx
 74 04 ?? je basic block L15

L14: 33 c0 ?? xor eax, eax
 75 2d ?? jne basic block L19

L15: 8b f4 ?? mov esi, esp
 68 a0 bc 40 00 ?? push 0x0040bca0<"\"_Ptr_container != 0\" && 0">
 68 e0 bc 40 00 ?? push 0x0040bce0<"%ls">
 6a 00 ?? push 0
 6a 46 ?? push 0x46<70>
 68 f0 bc 40 00 ?? push 0x0040bcf0<"C:\\Program Files (x86)\\Mi"+46 more>
 6a 02 ?? push 2
 ff 15 8c f1 40 00 ?? call dword ds:[0x0040f18c]

L16: 83 c4 18 ?? add esp, 0x18<24>
 3b f4 ?? cmp esi, esp
 e8 43 db ff ff ?? call function 0x00401168

L17: 83 f8 01 ?? cmp eax, 1
 75 01 ?? jne basic block L19

L18: cc ?? int3

L19: 8b f4 ?? mov esi, esp
 6a 00 ?? push 0
 6a 46 ?? push 0x46<70>
 68 f0 bc 40 00 ?? push 0x0040bcf0<"C:\\Program Files (x86)\\Mi"+46 more>
 68 9c bd 40 00 ?? push 0x0040bd9c<"std::_Allocate">
 68 c0 bd 40 00 ?? push 0x0040bdc0<"\"invalid argument\"">
 ff 15 90 f1 40 00 ?? call dword ds:[0x0040f190]

L20: 83 c4 14 ?? add esp, 0x14<20>
 3b f4 ?? cmp esi, esp
 e8 18 db ff ff ?? call function 0x00401168

L21: 8b 55 f0 ?? mov edx, dword ss:[ebp + 0xf0<240,-16>]
 83 c2 27 ?? add edx, 0x27<39>
 83 e2 e0 ?? and edx, 0xe0<224,-32>
 89 55 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], edx
 b8 04 00 00 00 ?? mov eax, 4
 6b c8 ff ?? imul ecx, eax, 0xff<255,-1>
 8b 55 fc ?? mov edx, dword ss:[ebp + 0xfc<252,-4>]
 8b 45 f0 ?? mov eax, dword ss:[ebp + 0xf0<240,-16>]
 89 04 0a ?? mov dword ds:[edx + ecx], eax
 b9 04 00 00 00 ?? mov ecx, 4
 6b d1 fe ?? imul edx, ecx, 0xfe<254,-2>
 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
 c7 04 10 fa fa fa fa ?? mov dword ds:[eax + edx], 0xfafafafa
 eb 74 ?? jmp basic block L32

L22: 8b 4d f8 ?? mov ecx, dword ss:[ebp + 0xf8<248,-8>]
 51 ?? push ecx
 e8 64 dc ff ff ?? call function 0x004012ee

L23: 83 c4 04 ?? add esp, 4
 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
 83 7d fc 00 ?? cmp dword ss:[ebp + 0xfc<252,-4>], 0
 75 5f ?? jne basic block L32

L24: ba f0 bd 40 00 ?? mov edx, 0x0040bdf0<"_Ptr != 0">
 85 d2 ?? test edx, edx
 74 04 ?? je basic block L26

L25: 33 c0 ?? xor eax, eax
 75 2d ?? jne basic block L30

L26: 8b f4 ?? mov esi, esp
 68 fc bd 40 00 ?? push 0x0040bdfc<"\"_Ptr != 0\" && 0">
 68 e0 bc 40 00 ?? push 0x0040bce0<"%ls">
 6a 00 ?? push 0
 6a 54 ?? push 0x54<84>
 68 f0 bc 40 00 ?? push 0x0040bcf0<"C:\\Program Files (x86)\\Mi"+46 more>
 6a 02 ?? push 2
 ff 15 8c f1 40 00 ?? call dword ds:[0x0040f18c]

L27: 83 c4 18 ?? add esp, 0x18<24>
 3b f4 ?? cmp esi, esp
 e8 9e da ff ff ?? call function 0x00401168

L28: 83 f8 01 ?? cmp eax, 1
 75 01 ?? jne basic block L30

L29: cc ?? int3

L30: 8b f4 ?? mov esi, esp
 6a 00 ?? push 0
 6a 54 ?? push 0x54<84>
 68 f0 bc 40 00 ?? push 0x0040bcf0<"C:\\Program Files (x86)\\Mi"+46 more>
 68 9c bd 40 00 ?? push 0x0040bd9c<"std::_Allocate">
 68 c0 bd 40 00 ?? push 0x0040bdc0<"\"invalid argument\"">
 ff 15 90 f1 40 00 ?? call dword ds:[0x0040f190]

L31: 83 c4 14 ?? add esp, 0x14<20>
 3b f4 ?? cmp esi, esp
 e8 73 da ff ff ?? call function 0x00401168

L32: 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]

L33: 5e ?? pop esi
 83 c4 10 ?? add esp, 0x10<16>
 3b ec ?? cmp ebp, esp
 e8 65 da ff ff ?? call function 0x00401168

L34: 8b e5 ?? mov esp, ebp
 5d ?? pop ebp
 c3 ?? ret

