40e1de:	68 e8 84 40 00       	push   $0x4084e8
40e1e3:	68 f8 84 40 00       	push   $0x4084f8
40e1e8:	89 75 e0             	mov    %esi,-0x20(%ebp)
40e1eb:	89 75 d0             	mov    %esi,-0x30(%ebp)
40e1ee:	89 75 c0             	mov    %esi,-0x40(%ebp)
40e1f1:	89 75 bc             	mov    %esi,-0x44(%ebp)
40e1f4:	89 75 ac             	mov    %esi,-0x54(%ebp)
40e1f7:	89 75 9c             	mov    %esi,-0x64(%ebp)
40e1fa:	89 75 8c             	mov    %esi,-0x74(%ebp)
40e1fd:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
40e203:	89 b5 6c ff ff ff    	mov    %esi,-0x94(%ebp)
40e209:	89 b5 5c ff ff ff    	mov    %esi,-0xa4(%ebp)
40e20f:	89 b5 4c ff ff ff    	mov    %esi,-0xb4(%ebp)
40e215:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e21b:	89 b5 44 ff ff ff    	mov    %esi,-0xbc(%ebp)
40e221:	89 b5 34 ff ff ff    	mov    %esi,-0xcc(%ebp)
40e227:	89 b5 24 ff ff ff    	mov    %esi,-0xdc(%ebp)
40e22d:	89 b5 14 ff ff ff    	mov    %esi,-0xec(%ebp)
40e233:	89 b5 04 ff ff ff    	mov    %esi,-0xfc(%ebp)
40e239:	ff 15 3c 10 40 00    	call   *0x40103c
40e23f:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e245:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40e24b:	50                   	push   %eax
40e24c:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e252:	bb 08 00 00 00       	mov    $0x8,%ebx
40e257:	51                   	push   %ecx
40e258:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e25e:	ff 15 94 11 40 00    	call   *0x401194
40e264:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40e26a:	52                   	push   %edx
40e26b:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40e271:	50                   	push   %eax
40e272:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40e279:	00 00 00
40e27c:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40e283:	80 00 00
40e286:	ff 15 68 11 40 00    	call   *0x401168
40e28c:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e292:	51                   	push   %ecx
40e293:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e299:	52                   	push   %edx
40e29a:	6a 02                	push   $0x2
40e29c:	66 8b f8             	mov    %ax,%di
40e29f:	ff 15 28 10 40 00    	call   *0x401028
40e2a5:	83 c4 0c             	add    $0xc,%esp
40e2a8:	66 3b fe             	cmp    %si,%di
40e2ab:	0f 84 de 00 00 00    	je     0x40e38f
40e2b1:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e2b7:	75 10                	jne    0x40e2c9
40e2b9:	68 38 03 41 00       	push   $0x410338
40e2be:	68 a8 7c 40 00       	push   $0x407ca8
40e2c3:	ff 15 2c 11 40 00    	call   *0x40112c
40e2c9:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e2cf:	8b 07                	mov    (%edi),%eax
40e2d1:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e2d7:	51                   	push   %ecx
40e2d8:	57                   	push   %edi
40e2d9:	ff 50 1c             	call   *0x1c(%eax)
40e2dc:	db e2                	fnclex
40e2de:	3b c6                	cmp    %esi,%eax
40e2e0:	7d 0f                	jge    0x40e2f1
40e2e2:	6a 1c                	push   $0x1c
40e2e4:	68 98 7c 40 00       	push   $0x407c98
40e2e9:	57                   	push   %edi
40e2ea:	50                   	push   %eax
40e2eb:	ff 15 48 10 40 00    	call   *0x401048
40e2f1:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e2f7:	8d bd 48 ff ff ff    	lea    -0xb8(%ebp),%edi
40e2fd:	57                   	push   %edi
40e2fe:	83 ec 10             	sub    $0x10,%esp
40e301:	b9 0a 00 00 00       	mov    $0xa,%ecx
40e306:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
40e30c:	8b fc                	mov    %esp,%edi
40e30e:	89 0f                	mov    %ecx,(%edi)
40e310:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
40e316:	89 4f 04             	mov    %ecx,0x4(%edi)
40e319:	c7 85 0c ff ff ff 04 	movl   $0x80020004,-0xf4(%ebp)
40e320:	00 02 80
40e323:	8b 8d 0c ff ff ff    	mov    -0xf4(%ebp),%ecx
40e329:	8b 10                	mov    (%eax),%edx
40e32b:	89 4f 08             	mov    %ecx,0x8(%edi)
40e32e:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40e334:	50                   	push   %eax
40e335:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40e33b:	89 4f 0c             	mov    %ecx,0xc(%edi)
40e33e:	ff 52 5c             	call   *0x5c(%edx)
40e341:	db e2                	fnclex
40e343:	3b c6                	cmp    %esi,%eax
40e345:	7d 15                	jge    0x40e35c
40e347:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40e34d:	6a 5c                	push   $0x5c
40e34f:	68 b8 7c 40 00       	push   $0x407cb8
40e354:	52                   	push   %edx
40e355:	50                   	push   %eax
40e356:	ff 15 48 10 40 00    	call   *0x401048
40e35c:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40e362:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e368:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40e36b:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e371:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e377:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e37d:	ff 15 0c 10 40 00    	call   *0x40100c
40e383:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e389:	ff 15 ac 11 40 00    	call   *0x4011ac
40e38f:	68 e8 84 40 00       	push   $0x4084e8
40e394:	68 f8 84 40 00       	push   $0x4084f8
40e399:	ff 15 3c 10 40 00    	call   *0x40103c
40e39f:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e3a5:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40e3ab:	50                   	push   %eax
40e3ac:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e3b2:	51                   	push   %ecx
40e3b3:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e3b9:	ff 15 94 11 40 00    	call   *0x401194
40e3bf:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40e3c5:	52                   	push   %edx
40e3c6:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40e3cc:	50                   	push   %eax
40e3cd:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40e3d4:	00 00 00
40e3d7:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40e3de:	80 00 00
40e3e1:	ff 15 68 11 40 00    	call   *0x401168
40e3e7:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e3ed:	51                   	push   %ecx
40e3ee:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e3f4:	52                   	push   %edx
40e3f5:	6a 02                	push   $0x2
40e3f7:	66 8b f8             	mov    %ax,%di
40e3fa:	ff 15 28 10 40 00    	call   *0x401028
40e400:	83 c4 0c             	add    $0xc,%esp
40e403:	66 3b fe             	cmp    %si,%di
40e406:	0f 84 e1 00 00 00    	je     0x40e4ed
40e40c:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e412:	75 10                	jne    0x40e424
40e414:	68 38 03 41 00       	push   $0x410338
40e419:	68 a8 7c 40 00       	push   $0x407ca8
40e41e:	ff 15 2c 11 40 00    	call   *0x40112c
40e424:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e42a:	8b 07                	mov    (%edi),%eax
40e42c:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e432:	51                   	push   %ecx
40e433:	57                   	push   %edi
40e434:	ff 50 1c             	call   *0x1c(%eax)
40e437:	db e2                	fnclex
40e439:	3b c6                	cmp    %esi,%eax
40e43b:	7d 0f                	jge    0x40e44c
40e43d:	6a 1c                	push   $0x1c
40e43f:	68 98 7c 40 00       	push   $0x407c98
40e444:	57                   	push   %edi
40e445:	50                   	push   %eax
40e446:	ff 15 48 10 40 00    	call   *0x401048
40e44c:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e452:	8d bd 48 ff ff ff    	lea    -0xb8(%ebp),%edi
40e458:	57                   	push   %edi
40e459:	83 ec 10             	sub    $0x10,%esp
40e45c:	b9 0a 00 00 00       	mov    $0xa,%ecx
40e461:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
40e467:	8b fc                	mov    %esp,%edi
40e469:	89 0f                	mov    %ecx,(%edi)
40e46b:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
40e471:	89 4f 04             	mov    %ecx,0x4(%edi)
40e474:	c7 85 0c ff ff ff 04 	movl   $0x80020004,-0xf4(%ebp)
40e47b:	00 02 80
40e47e:	8b 8d 0c ff ff ff    	mov    -0xf4(%ebp),%ecx
40e484:	8b 10                	mov    (%eax),%edx
40e486:	89 4f 08             	mov    %ecx,0x8(%edi)
40e489:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40e48f:	50                   	push   %eax
40e490:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40e496:	89 4f 0c             	mov    %ecx,0xc(%edi)
40e499:	ff 52 5c             	call   *0x5c(%edx)
40e49c:	db e2                	fnclex
40e49e:	3b c6                	cmp    %esi,%eax
40e4a0:	7d 15                	jge    0x40e4b7
40e4a2:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40e4a8:	6a 5c                	push   $0x5c
40e4aa:	68 b8 7c 40 00       	push   $0x407cb8
40e4af:	52                   	push   %edx
40e4b0:	50                   	push   %eax
40e4b1:	ff 15 48 10 40 00    	call   *0x401048
40e4b7:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40e4bd:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e4c3:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
40e4c9:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e4cf:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e4d5:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e4db:	ff 15 0c 10 40 00    	call   *0x40100c
40e4e1:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e4e7:	ff 15 ac 11 40 00    	call   *0x4011ac
40e4ed:	68 e8 84 40 00       	push   $0x4084e8
40e4f2:	68 f8 84 40 00       	push   $0x4084f8
40e4f7:	ff 15 3c 10 40 00    	call   *0x40103c
40e4fd:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e503:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40e509:	50                   	push   %eax
40e50a:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e510:	51                   	push   %ecx
40e511:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e517:	ff 15 94 11 40 00    	call   *0x401194
40e51d:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40e523:	52                   	push   %edx
40e524:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40e52a:	50                   	push   %eax
40e52b:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40e532:	00 00 00
40e535:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40e53c:	80 00 00
40e53f:	ff 15 68 11 40 00    	call   *0x401168
40e545:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e54b:	51                   	push   %ecx
40e54c:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e552:	52                   	push   %edx
40e553:	6a 02                	push   $0x2
40e555:	66 8b f8             	mov    %ax,%di
40e558:	ff 15 28 10 40 00    	call   *0x401028
40e55e:	83 c4 0c             	add    $0xc,%esp
40e561:	66 3b fe             	cmp    %si,%di
40e564:	0f 84 e1 00 00 00    	je     0x40e64b
40e56a:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e570:	75 10                	jne    0x40e582
40e572:	68 38 03 41 00       	push   $0x410338
40e577:	68 a8 7c 40 00       	push   $0x407ca8
40e57c:	ff 15 2c 11 40 00    	call   *0x40112c
40e582:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e588:	8b 07                	mov    (%edi),%eax
40e58a:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e590:	51                   	push   %ecx
40e591:	57                   	push   %edi
40e592:	ff 50 1c             	call   *0x1c(%eax)
40e595:	db e2                	fnclex
40e597:	3b c6                	cmp    %esi,%eax
40e599:	7d 0f                	jge    0x40e5aa
40e59b:	6a 1c                	push   $0x1c
40e59d:	68 98 7c 40 00       	push   $0x407c98
40e5a2:	57                   	push   %edi
40e5a3:	50                   	push   %eax
40e5a4:	ff 15 48 10 40 00    	call   *0x401048
40e5aa:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e5b0:	8d bd 48 ff ff ff    	lea    -0xb8(%ebp),%edi
40e5b6:	57                   	push   %edi
40e5b7:	83 ec 10             	sub    $0x10,%esp
40e5ba:	b9 0a 00 00 00       	mov    $0xa,%ecx
40e5bf:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
40e5c5:	8b fc                	mov    %esp,%edi
40e5c7:	89 0f                	mov    %ecx,(%edi)
40e5c9:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
40e5cf:	89 4f 04             	mov    %ecx,0x4(%edi)
40e5d2:	c7 85 0c ff ff ff 04 	movl   $0x80020004,-0xf4(%ebp)
40e5d9:	00 02 80
40e5dc:	8b 8d 0c ff ff ff    	mov    -0xf4(%ebp),%ecx
40e5e2:	8b 10                	mov    (%eax),%edx
40e5e4:	89 4f 08             	mov    %ecx,0x8(%edi)
40e5e7:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40e5ed:	50                   	push   %eax
40e5ee:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40e5f4:	89 4f 0c             	mov    %ecx,0xc(%edi)
40e5f7:	ff 52 5c             	call   *0x5c(%edx)
40e5fa:	db e2                	fnclex
40e5fc:	3b c6                	cmp    %esi,%eax
40e5fe:	7d 15                	jge    0x40e615
40e600:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40e606:	6a 5c                	push   $0x5c
40e608:	68 b8 7c 40 00       	push   $0x407cb8
40e60d:	52                   	push   %edx
40e60e:	50                   	push   %eax
40e60f:	ff 15 48 10 40 00    	call   *0x401048
40e615:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
40e61b:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e621:	8d 8d 4c ff ff ff    	lea    -0xb4(%ebp),%ecx
40e627:	89 b5 48 ff ff ff    	mov    %esi,-0xb8(%ebp)
40e62d:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e633:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e639:	ff 15 0c 10 40 00    	call   *0x40100c
40e63f:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e645:	ff 15 ac 11 40 00    	call   *0x4011ac
40e64b:	68 e8 84 40 00       	push   $0x4084e8
40e650:	68 f8 84 40 00       	push   $0x4084f8
40e655:	ff 15 3c 10 40 00    	call   *0x40103c
40e65b:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
40e661:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40e667:	50                   	push   %eax
40e668:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e66e:	51                   	push   %ecx
40e66f:	89 9d 34 ff ff ff    	mov    %ebx,-0xcc(%ebp)
40e675:	ff 15 94 11 40 00    	call   *0x401194
40e67b:	8d 95 24 ff ff ff    	lea    -0xdc(%ebp),%edx
40e681:	52                   	push   %edx
40e682:	8d 85 04 ff ff ff    	lea    -0xfc(%ebp),%eax
40e688:	50                   	push   %eax
40e689:	c7 85 0c ff ff ff 03 	movl   $0x3,-0xf4(%ebp)
40e690:	00 00 00
40e693:	c7 85 04 ff ff ff 02 	movl   $0x8002,-0xfc(%ebp)
40e69a:	80 00 00
40e69d:	ff 15 68 11 40 00    	call   *0x401168
40e6a3:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
40e6a9:	51                   	push   %ecx
40e6aa:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40e6b0:	52                   	push   %edx
40e6b1:	6a 02                	push   $0x2
40e6b3:	66 8b f8             	mov    %ax,%di
40e6b6:	ff 15 28 10 40 00    	call   *0x401028
40e6bc:	83 c4 0c             	add    $0xc,%esp
40e6bf:	66 3b fe             	cmp    %si,%di
40e6c2:	0f 84 de 00 00 00    	je     0x40e7a6
40e6c8:	39 35 38 03 41 00    	cmp    %esi,0x410338
40e6ce:	75 10                	jne    0x40e6e0
40e6d0:	68 38 03 41 00       	push   $0x410338
40e6d5:	68 a8 7c 40 00       	push   $0x407ca8
40e6da:	ff 15 2c 11 40 00    	call   *0x40112c
40e6e0:	8b 3d 38 03 41 00    	mov    0x410338,%edi
40e6e6:	8b 07                	mov    (%edi),%eax
40e6e8:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
40e6ee:	51                   	push   %ecx
40e6ef:	57                   	push   %edi
40e6f0:	ff 50 1c             	call   *0x1c(%eax)
40e6f3:	db e2                	fnclex
40e6f5:	3b c6                	cmp    %esi,%eax
40e6f7:	7d 0f                	jge    0x40e708
40e6f9:	6a 1c                	push   $0x1c
40e6fb:	68 98 7c 40 00       	push   $0x407c98
40e700:	57                   	push   %edi
40e701:	50                   	push   %eax
40e702:	ff 15 48 10 40 00    	call   *0x401048
40e708:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
40e70e:	8d bd 48 ff ff ff    	lea    -0xb8(%ebp),%edi
40e714:	57                   	push   %edi
40e715:	83 ec 10             	sub    $0x10,%esp
40e718:	b9 0a 00 00 00       	mov    $0xa,%ecx
40e71d:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
40e723:	8b fc                	mov    %esp,%edi
40e725:	89 0f                	mov    %ecx,(%edi)
40e727:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
40e72d:	89 4f 04             	mov    %ecx,0x4(%edi)
40e730:	c7 85 0c ff ff ff 04 	movl   $0x80020004,-0xf4(%ebp)
40e737:	00 02 80
40e73a:	8b 8d 0c ff ff ff    	mov    -0xf4(%ebp),%ecx
40e740:	8b 10                	mov    (%eax),%edx
40e742:	89 4f 08             	mov    %ecx,0x8(%edi)
40e745:	8b 8d 10 ff ff ff    	mov    -0xf0(%ebp),%ecx
40e74b:	50                   	push   %eax
40e74c:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
40e752:	89 4f 0c             	mov    %ecx,0xc(%edi)
40e755:	ff 52 5c             	call   *0x5c(%edx)
40e758:	db e2                	fnclex
40e75a:	3b c6                	cmp    %esi,%eax
40e75c:	7d 15                	jge    0x40e773
40e75e:	8b 95 f8 fe ff ff    	mov    -0x108(%ebp),%edx
40e764:	6a 5c                	push   $0x5c
40e766:	68 b8 7c 40 00       	push   $0x407cb8