40f2ac:	64 89 20             	mov    %esp,%fs:(%eax)
40f2af:	8d 55 fc             	lea    -0x4(%ebp),%edx
40f2b2:	a1 68 d5 46 00       	mov    0x46d568,%eax
40f2b7:	e8 48 73 ff ff       	call   0x406604
40f2bc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f2bf:	b2 01                	mov    $0x1,%dl
40f2c1:	a1 c0 ee 40 00       	mov    0x40eec0,%eax
40f2c6:	e8 71 cf ff ff       	call   0x40c23c
40f2cb:	e8 98 4e ff ff       	call   0x404168
40f2d0:	33 c0                	xor    %eax,%eax
40f2d2:	5a                   	pop    %edx
40f2d3:	59                   	pop    %ecx
40f2d4:	59                   	pop    %ecx
40f2d5:	64 89 10             	mov    %edx,%fs:(%eax)
40f2d8:	68 ed f2 40 00       	push   $0x40f2ed
40f2dd:	8d 45 fc             	lea    -0x4(%ebp),%eax
40f2e0:	e8 3b 54 ff ff       	call   0x404720
40f2e5:	c3                   	ret
40f2e6:	e9 9d 4d ff ff       	jmp    0x404088
40f2eb:	eb f0                	jmp    0x40f2dd
40f2ed:	59                   	pop    %ecx
40f2ee:	5d                   	pop    %ebp
40f2ef:	c3                   	ret
40f2f0:	55                   	push   %ebp
40f2f1:	8b ec                	mov    %esp,%ebp
40f2f3:	b9 08 00 00 00       	mov    $0x8,%ecx
40f2f8:	6a 00                	push   $0x0
40f2fa:	6a 00                	push   $0x0
40f2fc:	49                   	dec    %ecx
40f2fd:	75 f9                	jne    0x40f2f8
40f2ff:	53                   	push   %ebx
40f300:	8b d8                	mov    %eax,%ebx
40f302:	33 c0                	xor    %eax,%eax
40f304:	55                   	push   %ebp
40f305:	68 35 f5 40 00       	push   $0x40f535
40f30a:	64 ff 30             	push   %fs:(%eax)
40f30d:	64 89 20             	mov    %esp,%fs:(%eax)
40f310:	8b c3                	mov    %ebx,%eax
40f312:	3d 0a 00 02 80       	cmp    $0x8002000a,%eax
40f317:	7f 39                	jg     0x40f352
40f319:	0f 84 9a 00 00 00    	je     0x40f3b9
40f31f:	3d 05 00 02 80       	cmp    $0x80020005,%eax
40f324:	7f 1d                	jg     0x40f343
40f326:	74 57                	je     0x40f37f
40f328:	2d 01 40 00 80       	sub    $0x80004001,%eax
40f32d:	0f 84 f8 00 00 00    	je     0x40f42b
40f333:	2d fe bf 00 00       	sub    $0xbffe,%eax
40f338:	0f 84 5c 01 00 00    	je     0x40f49a
40f33e:	e9 7a 01 00 00       	jmp    0x40f4bd
40f343:	2d 08 00 02 80       	sub    $0x80020008,%eax
40f348:	74 3f                	je     0x40f389
40f34a:	48                   	dec    %eax
40f34b:	74 62                	je     0x40f3af
40f34d:	e9 6b 01 00 00       	jmp    0x40f4bd
40f352:	2d 0b 00 02 80       	sub    $0x8002000b,%eax
40f357:	0f 84 82 00 00 00    	je     0x40f3df
40f35d:	83 e8 02             	sub    $0x2,%eax
40f360:	0f 84 9f 00 00 00    	je     0x40f405
40f366:	2d 01 00 05 00       	sub    $0x50001,%eax
40f36b:	0f 84 e0 00 00 00    	je     0x40f451
40f371:	83 e8 49             	sub    $0x49,%eax
40f374:	0f 84 fd 00 00 00    	je     0x40f477
40f37a:	e9 3e 01 00 00       	jmp    0x40f4bd
40f37f:	e8 38 fd ff ff       	call   0x40f0bc
40f384:	e9 84 01 00 00       	jmp    0x40f50d
40f389:	8d 55 fc             	lea    -0x4(%ebp),%edx
40f38c:	a1 78 d7 46 00       	mov    0x46d778,%eax
40f391:	e8 6e 72 ff ff       	call   0x406604
40f396:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f399:	b2 01                	mov    $0x1,%dl
40f39b:	a1 90 ed 40 00       	mov    0x40ed90,%eax
40f3a0:	e8 97 ce ff ff       	call   0x40c23c
40f3a5:	e8 be 4d ff ff       	call   0x404168
40f3aa:	e9 5e 01 00 00       	jmp    0x40f50d
40f3af:	e8 f8 fd ff ff       	call   0x40f1ac
40f3b4:	e9 54 01 00 00       	jmp    0x40f50d
40f3b9:	8d 55 f8             	lea    -0x8(%ebp),%edx
40f3bc:	a1 20 d4 46 00       	mov    0x46d420,%eax
40f3c1:	e8 3e 72 ff ff       	call   0x406604
40f3c6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40f3c9:	b2 01                	mov    $0x1,%dl
40f3cb:	a1 c8 ec 40 00       	mov    0x40ecc8,%eax
40f3d0:	e8 67 ce ff ff       	call   0x40c23c
40f3d5:	e8 8e 4d ff ff       	call   0x404168
40f3da:	e9 2e 01 00 00       	jmp    0x40f50d
40f3df:	8d 55 f4             	lea    -0xc(%ebp),%edx
40f3e2:	a1 f4 d6 46 00       	mov    0x46d6f4,%eax
40f3e7:	e8 18 72 ff ff       	call   0x406604
40f3ec:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40f3ef:	b2 01                	mov    $0x1,%dl
40f3f1:	a1 f4 ed 40 00       	mov    0x40edf4,%eax
40f3f6:	e8 41 ce ff ff       	call   0x40c23c
40f3fb:	e8 68 4d ff ff       	call   0x404168
40f400:	e9 08 01 00 00       	jmp    0x40f50d
40f405:	8d 55 f0             	lea    -0x10(%ebp),%edx
40f408:	a1 ec d7 46 00       	mov    0x46d7ec,%eax
40f40d:	e8 f2 71 ff ff       	call   0x406604
40f412:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f415:	b2 01                	mov    $0x1,%dl
40f417:	a1 58 ee 40 00       	mov    0x40ee58,%eax
40f41c:	e8 1b ce ff ff       	call   0x40c23c
40f421:	e8 42 4d ff ff       	call   0x404168
40f426:	e9 e2 00 00 00       	jmp    0x40f50d
40f42b:	8d 55 ec             	lea    -0x14(%ebp),%edx
40f42e:	a1 30 d6 46 00       	mov    0x46d630,%eax
40f433:	e8 cc 71 ff ff       	call   0x406604
40f438:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40f43b:	b2 01                	mov    $0x1,%dl
40f43d:	a1 28 ef 40 00       	mov    0x40ef28,%eax
40f442:	e8 f5 cd ff ff       	call   0x40c23c
40f447:	e8 1c 4d ff ff       	call   0x404168
40f44c:	e9 bc 00 00 00       	jmp    0x40f50d
40f451:	8d 55 e8             	lea    -0x18(%ebp),%edx
40f454:	a1 80 d4 46 00       	mov    0x46d480,%eax
40f459:	e8 a6 71 ff ff       	call   0x406604
40f45e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40f461:	b2 01                	mov    $0x1,%dl
40f463:	a1 8c ef 40 00       	mov    0x40ef8c,%eax
40f468:	e8 cf cd ff ff       	call   0x40c23c
40f46d:	e8 f6 4c ff ff       	call   0x404168
40f472:	e9 96 00 00 00       	jmp    0x40f50d
40f477:	8d 55 e4             	lea    -0x1c(%ebp),%edx
40f47a:	a1 a4 d4 46 00       	mov    0x46d4a4,%eax
40f47f:	e8 80 71 ff ff       	call   0x406604
40f484:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40f487:	b2 01                	mov    $0x1,%dl
40f489:	a1 2c ed 40 00       	mov    0x40ed2c,%eax
40f48e:	e8 a9 cd ff ff       	call   0x40c23c
40f493:	e8 d0 4c ff ff       	call   0x404168
40f498:	eb 73                	jmp    0x40f50d
40f49a:	8d 55 e0             	lea    -0x20(%ebp),%edx
40f49d:	a1 1c d4 46 00       	mov    0x46d41c,%eax
40f4a2:	e8 5d 71 ff ff       	call   0x406604
40f4a7:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40f4aa:	b2 01                	mov    $0x1,%dl
40f4ac:	a1 f4 ef 40 00       	mov    0x40eff4,%eax
40f4b1:	e8 86 cd ff ff       	call   0x40c23c
40f4b6:	e8 ad 4c ff ff       	call   0x404168
40f4bb:	eb 50                	jmp    0x40f50d
40f4bd:	a1 88 d7 46 00       	mov    0x46d788,%eax
40f4c2:	8b 00                	mov    (%eax),%eax
40f4c4:	89 45 c8             	mov    %eax,-0x38(%ebp)
40f4c7:	c6 45 cc 0b          	movb   $0xb,-0x34(%ebp)
40f4cb:	89 5d d0             	mov    %ebx,-0x30(%ebp)
40f4ce:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
40f4d2:	8d 55 c4             	lea    -0x3c(%ebp),%edx
40f4d5:	8b c3                	mov    %ebx,%eax
40f4d7:	e8 40 c5 ff ff       	call   0x40ba1c
40f4dc:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40f4df:	89 45 d8             	mov    %eax,-0x28(%ebp)
40f4e2:	c6 45 dc 0b          	movb   $0xb,-0x24(%ebp)
40f4e6:	8d 45 c8             	lea    -0x38(%ebp),%eax
40f4e9:	50                   	push   %eax
40f4ea:	6a 02                	push   $0x2
40f4ec:	8d 55 c0             	lea    -0x40(%ebp),%edx
40f4ef:	a1 6c d5 46 00       	mov    0x46d56c,%eax
40f4f4:	e8 0b 71 ff ff       	call   0x406604
40f4f9:	8b 4d c0             	mov    -0x40(%ebp),%ecx
40f4fc:	b2 01                	mov    $0x1,%dl
40f4fe:	a1 0c 82 40 00       	mov    0x40820c,%eax
40f503:	e8 70 cd ff ff       	call   0x40c278
40f508:	e8 5b 4c ff ff       	call   0x404168
40f50d:	33 c0                	xor    %eax,%eax
40f50f:	5a                   	pop    %edx
40f510:	59                   	pop    %ecx
40f511:	59                   	pop    %ecx
40f512:	64 89 10             	mov    %edx,%fs:(%eax)
40f515:	68 3c f5 40 00       	push   $0x40f53c
40f51a:	8d 45 c0             	lea    -0x40(%ebp),%eax
40f51d:	ba 02 00 00 00       	mov    $0x2,%edx
40f522:	e8 1d 52 ff ff       	call   0x404744
40f527:	8d 45 e0             	lea    -0x20(%ebp),%eax
40f52a:	ba 08 00 00 00       	mov    $0x8,%edx
40f52f:	e8 10 52 ff ff       	call   0x404744
40f534:	c3                   	ret
40f535:	e9 4e 4b ff ff       	jmp    0x404088
40f53a:	eb de                	jmp    0x40f51a
40f53c:	5b                   	pop    %ebx
40f53d:	8b e5                	mov    %ebp,%esp
40f53f:	5d                   	pop    %ebp
40f540:	c3                   	ret
40f541:	8d 40 00             	lea    0x0(%eax),%eax
40f544:	85 c0                	test   %eax,%eax
40f546:	74 05                	je     0x40f54d
40f548:	e8 a3 fd ff ff       	call   0x40f2f0
40f54d:	c3                   	ret
40f54e:	8b c0                	mov    %eax,%eax
40f550:	53                   	push   %ebx
40f551:	85 c0                	test   %eax,%eax
40f553:	74 2c                	je     0x40f581
40f555:	8b d8                	mov    %eax,%ebx
40f557:	81 eb 05 00 02 80    	sub    $0x80020005,%ebx
40f55d:	74 07                	je     0x40f566
40f55f:	83 eb 05             	sub    $0x5,%ebx
40f562:	74 0d                	je     0x40f571
40f564:	eb 16                	jmp    0x40f57c
40f566:	8b c2                	mov    %edx,%eax
40f568:	8b d1                	mov    %ecx,%edx
40f56a:	e8 a1 fb ff ff       	call   0x40f110
40f56f:	eb 10                	jmp    0x40f581
40f571:	8b c2                	mov    %edx,%eax
40f573:	8b d1                	mov    %ecx,%edx
40f575:	e8 86 fc ff ff       	call   0x40f200
40f57a:	eb 05                	jmp    0x40f581
40f57c:	e8 6f fd ff ff       	call   0x40f2f0
40f581:	5b                   	pop    %ebx
40f582:	c3                   	ret
40f583:	90                   	nop
40f584:	53                   	push   %ebx
40f585:	56                   	push   %esi
40f586:	8b f2                	mov    %edx,%esi
40f588:	8b d8                	mov    %eax,%ebx
40f58a:	e8 e1 37 ff ff       	call   0x402d70
40f58f:	8b 15 20 7d 40 00    	mov    0x407d20,%edx
40f595:	e8 e6 44 ff ff       	call   0x403a80
40f59a:	84 c0                	test   %al,%al
40f59c:	74 11                	je     0x40f5af
40f59e:	8b ce                	mov    %esi,%ecx
40f5a0:	8b d3                	mov    %ebx,%edx
40f5a2:	b8 0a 00 02 80       	mov    $0x8002000a,%eax
40f5a7:	e8 a4 ff ff ff       	call   0x40f550
40f5ac:	5e                   	pop    %esi
40f5ad:	5b                   	pop    %ebx
40f5ae:	c3                   	ret
40f5af:	e8 bc 37 ff ff       	call   0x402d70
40f5b4:	8b 15 dc 7e 40 00    	mov    0x407edc,%edx
40f5ba:	e8 c1 44 ff ff       	call   0x403a80
40f5bf:	84 c0                	test   %al,%al
40f5c1:	74 10                	je     0x40f5d3
40f5c3:	8b ce                	mov    %esi,%ecx
40f5c5:	8b d3                	mov    %ebx,%edx
40f5c7:	b8 0a 00 02 80       	mov    $0x8002000a,%eax
40f5cc:	e8 7f ff ff ff       	call   0x40f550
40f5d1:	eb 32                	jmp    0x40f605
40f5d3:	e8 98 37 ff ff       	call   0x402d70
40f5d8:	8b 15 44 80 40 00    	mov    0x408044,%edx
40f5de:	e8 9d 44 ff ff       	call   0x403a80
40f5e3:	84 c0                	test   %al,%al
40f5e5:	74 10                	je     0x40f5f7
40f5e7:	8b ce                	mov    %esi,%ecx
40f5e9:	8b d3                	mov    %ebx,%edx
40f5eb:	b8 05 00 02 80       	mov    $0x80020005,%eax
40f5f0:	e8 5b ff ff ff       	call   0x40f550
40f5f5:	eb 0e                	jmp    0x40f605
40f5f7:	e8 b4 37 ff ff       	call   0x402db0
40f5fc:	8b d0                	mov    %eax,%edx
40f5fe:	8b c2                	mov    %edx,%eax
40f600:	e8 63 4b ff ff       	call   0x404168
40f605:	5e                   	pop    %esi
40f606:	5b                   	pop    %ebx
40f607:	c3                   	ret
40f608:	55                   	push   %ebp
40f609:	8b ec                	mov    %esp,%ebp
40f60b:	6a 00                	push   $0x0
40f60d:	33 c0                	xor    %eax,%eax
40f60f:	55                   	push   %ebp
40f610:	68 52 f6 40 00       	push   $0x40f652
40f615:	64 ff 30             	push   %fs:(%eax)
40f618:	64 89 20             	mov    %esp,%fs:(%eax)
40f61b:	8d 55 fc             	lea    -0x4(%ebp),%edx
40f61e:	a1 a0 d3 46 00       	mov    0x46d3a0,%eax
40f623:	e8 dc 6f ff ff       	call   0x406604
40f628:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f62b:	b2 01                	mov    $0x1,%dl
40f62d:	a1 58 f0 40 00       	mov    0x40f058,%eax
40f632:	e8 05 cc ff ff       	call   0x40c23c
40f637:	e8 2c 4b ff ff       	call   0x404168
40f63c:	33 c0                	xor    %eax,%eax
40f63e:	5a                   	pop    %edx
40f63f:	59                   	pop    %ecx
40f640:	59                   	pop    %ecx
40f641:	64 89 10             	mov    %edx,%fs:(%eax)
40f644:	68 59 f6 40 00       	push   $0x40f659
40f649:	8d 45 fc             	lea    -0x4(%ebp),%eax
40f64c:	e8 cf 50 ff ff       	call   0x404720
40f651:	c3                   	ret
40f652:	e9 31 4a ff ff       	jmp    0x404088
40f657:	eb f0                	jmp    0x40f649
40f659:	59                   	pop    %ecx
40f65a:	5d                   	pop    %ebp
40f65b:	c3                   	ret
40f65c:	53                   	push   %ebx
40f65d:	8b d8                	mov    %eax,%ebx
40f65f:	8b c3                	mov    %ebx,%eax
40f661:	e8 8e 02 00 00       	call   0x40f8f4
40f666:	66 c7 03 01 00       	movw   $0x1,(%ebx)
40f66b:	5b                   	pop    %ebx
40f66c:	c3                   	ret
40f66d:	8d 40 00             	lea    0x0(%eax),%eax
40f670:	55                   	push   %ebp
40f671:	8b ec                	mov    %esp,%ebp
40f673:	53                   	push   %ebx
40f674:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f677:	81 c1 00 fd ff ff    	add    $0xfffffd00,%ecx
40f67d:	8b 54 c1 04          	mov    0x4(%ecx,%eax,8),%edx
40f681:	03 14 c1             	add    (%ecx,%eax,8),%edx
40f684:	8b 5d 08             	mov    0x8(%ebp),%ebx
40f687:	3b 94 83 00 ff ff ff 	cmp    -0x100(%ebx,%eax,4),%edx
40f68e:	0f 9f c2             	setg   %dl
40f691:	48                   	dec    %eax
40f692:	84 d2                	test   %dl,%dl
40f694:	74 04                	je     0x40f69a
40f696:	85 c0                	test   %eax,%eax
40f698:	7d e3                	jge    0x40f67d
40f69a:	8b c2                	mov    %edx,%eax
40f69c:	5b                   	pop    %ebx
40f69d:	5d                   	pop    %ebp
40f69e:	c3                   	ret
40f69f:	90                   	nop
40f6a0:	55                   	push   %ebp
40f6a1:	8b ec                	mov    %esp,%ebp
40f6a3:	53                   	push   %ebx
40f6a4:	56                   	push   %esi
40f6a5:	b2 01                	mov    $0x1,%dl
40f6a7:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f6aa:	ff 84 81 00 ff ff ff 	incl   -0x100(%ecx,%eax,4)
40f6b1:	8b 4d 08             	mov    0x8(%ebp),%ecx
40f6b4:	8b 8c c1 04 fd ff ff 	mov    -0x2fc(%ecx,%eax,8),%ecx
40f6bb:	8b d9                	mov    %ecx,%ebx
40f6bd:	8b 75 08             	mov    0x8(%ebp),%esi
40f6c0:	03 9c c6 00 fd ff ff 	add    -0x300(%esi,%eax,8),%ebx
40f6c7:	8b 75 08             	mov    0x8(%ebp),%esi
40f6ca:	3b 9c 86 00 ff ff ff 	cmp    -0x100(%esi,%eax,4),%ebx
40f6d1:	7f 22                	jg     0x40f6f5
40f6d3:	85 c0                	test   %eax,%eax
40f6d5:	75 04                	jne    0x40f6db
40f6d7:	33 d2                	xor    %edx,%edx
40f6d9:	eb 1a                	jmp    0x40f6f5
40f6db:	8b 55 08             	mov    0x8(%ebp),%edx
40f6de:	8b 55 08             	mov    0x8(%ebp),%edx
40f6e1:	89 8c 82 00 ff ff ff 	mov    %ecx,-0x100(%edx,%eax,4)
40f6e8:	8b 55 08             	mov    0x8(%ebp),%edx
40f6eb:	52                   	push   %edx
40f6ec:	48                   	dec    %eax
40f6ed:	e8 ae ff ff ff       	call   0x40f6a0
40f6f2:	59                   	pop    %ecx
40f6f3:	8b d0                	mov    %eax,%edx
40f6f5:	8b c2                	mov    %edx,%eax
40f6f7:	5e                   	pop    %esi
40f6f8:	5b                   	pop    %ebx
40f6f9:	5d                   	pop    %ebp
40f6fa:	c3                   	ret
40f6fb:	90                   	nop
40f6fc:	55                   	push   %ebp
40f6fd:	8b ec                	mov    %esp,%ebp
40f6ff:	81 c4 e8 fc ff ff    	add    $0xfffffce8,%esp
40f705:	53                   	push   %ebx
40f706:	56                   	push   %esi
40f707:	57                   	push   %edi
40f708:	89 85 fc fc ff ff    	mov    %eax,-0x304(%ebp)