40e29e:	0f 94 c0             	sete   %al
40e2a1:	48                   	dec    %eax
40e2a2:	25 82 fe ff ff       	and    $0xfffffe82,%eax
40e2a7:	05 0b 02 00 00       	add    $0x20b,%eax
40e2ac:	8b f0                	mov    %eax,%esi
40e2ae:	e8 f3 bf ff ff       	call   0x40a2a6
40e2b3:	50                   	push   %eax
40e2b4:	56                   	push   %esi
40e2b5:	e8 32 df ff ff       	call   0x40c1ec
40e2ba:	50                   	push   %eax
40e2bb:	8d 85 00 ec ff ff    	lea    -0x1400(%ebp),%eax
40e2c1:	68 00 0a 00 00       	push   $0xa00
40e2c6:	50                   	push   %eax
40e2c7:	e8 16 f3 ff ff       	call   0x40d5e2
40e2cc:	83 c4 10             	add    $0x10,%esp
40e2cf:	8d 85 00 ec ff ff    	lea    -0x1400(%ebp),%eax
40e2d5:	50                   	push   %eax
40e2d6:	6a 00                	push   $0x0
40e2d8:	e8 70 ee ff ff       	call   0x40d14d
40e2dd:	5e                   	pop    %esi
40e2de:	c9                   	leave
40e2df:	c2 08 00             	ret    $0x8
40e2e2:	55                   	push   %ebp
40e2e3:	8b ec                	mov    %esp,%ebp
40e2e5:	b8 48 20 00 00       	mov    $0x2048,%eax
40e2ea:	e8 e1 c1 00 00       	call   0x41a4d0
40e2ef:	53                   	push   %ebx
40e2f0:	56                   	push   %esi
40e2f1:	8b f1                	mov    %ecx,%esi
40e2f3:	33 db                	xor    %ebx,%ebx
40e2f5:	66 39 1e             	cmp    %bx,(%esi)
40e2f8:	0f 84 44 02 00 00    	je     0x40e542
40e2fe:	56                   	push   %esi
40e2ff:	e8 87 be 00 00       	call   0x41a18b
40e304:	59                   	pop    %ecx
40e305:	3d f6 07 00 00       	cmp    $0x7f6,%eax
40e30a:	0f 83 32 02 00 00    	jae    0x40e542
40e310:	57                   	push   %edi
40e311:	6a 3c                	push   $0x3c
40e313:	5f                   	pop    %edi
40e314:	57                   	push   %edi
40e315:	8d 45 b8             	lea    -0x48(%ebp),%eax
40e318:	53                   	push   %ebx
40e319:	50                   	push   %eax
40e31a:	e8 e1 be 00 00       	call   0x41a200
40e31f:	0f b7 0e             	movzwl (%esi),%ecx
40e322:	83 c4 0c             	add    $0xc,%esp
40e325:	89 7d b8             	mov    %edi,-0x48(%ebp)
40e328:	c7 45 bc c0 01 00 00 	movl   $0x1c0,-0x44(%ebp)
40e32f:	66 83 f9 22          	cmp    $0x22,%cx
40e333:	75 08                	jne    0x40e33d
40e335:	8d 46 02             	lea    0x2(%esi),%eax
40e338:	89 45 c8             	mov    %eax,-0x38(%ebp)
40e33b:	eb 03                	jmp    0x40e340
40e33d:	89 75 c8             	mov    %esi,-0x38(%ebp)
40e340:	33 c0                	xor    %eax,%eax
40e342:	66 3b cb             	cmp    %bx,%cx
40e345:	74 4f                	je     0x40e396
40e347:	8b ce                	mov    %esi,%ecx
40e349:	66 83 39 22          	cmpw   $0x22,(%ecx)
40e34d:	75 19                	jne    0x40e368
40e34f:	eb 07                	jmp    0x40e358
40e351:	66 83 3c 46 22       	cmpw   $0x22,(%esi,%eax,2)
40e356:	74 09                	je     0x40e361
40e358:	40                   	inc    %eax
40e359:	66 39 1c 46          	cmp    %bx,(%esi,%eax,2)
40e35d:	75 f2                	jne    0x40e351
40e35f:	eb 07                	jmp    0x40e368
40e361:	6a 20                	push   $0x20
40e363:	59                   	pop    %ecx
40e364:	66 89 0c 46          	mov    %cx,(%esi,%eax,2)
40e368:	66 83 3c 46 20       	cmpw   $0x20,(%esi,%eax,2)
40e36d:	74 13                	je     0x40e382
40e36f:	66 83 7c 46 02 2f    	cmpw   $0x2f,0x2(%esi,%eax,2)
40e375:	74 0b                	je     0x40e382
40e377:	40                   	inc    %eax
40e378:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
40e37b:	66 39 19             	cmp    %bx,(%ecx)
40e37e:	75 c9                	jne    0x40e349
40e380:	eb 14                	jmp    0x40e396
40e382:	8d 04 46             	lea    (%esi,%eax,2),%eax
40e385:	66 83 38 20          	cmpw   $0x20,(%eax)
40e389:	75 05                	jne    0x40e390
40e38b:	33 c9                	xor    %ecx,%ecx
40e38d:	66 89 08             	mov    %cx,(%eax)
40e390:	83 c0 02             	add    $0x2,%eax
40e393:	89 45 cc             	mov    %eax,-0x34(%ebp)
40e396:	39 5d cc             	cmp    %ebx,-0x34(%ebp)
40e399:	75 15                	jne    0x40e3b0
40e39b:	38 5d 0c             	cmp    %bl,0xc(%ebp)
40e39e:	75 10                	jne    0x40e3b0
40e3a0:	66 39 1d 3a 1d 44 00 	cmp    %bx,0x441d3a
40e3a7:	74 07                	je     0x40e3b0
40e3a9:	c7 45 cc 3a 1d 44 00 	movl   $0x441d3a,-0x34(%ebp)
40e3b0:	ff 75 c8             	push   -0x38(%ebp)
40e3b3:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
40e3ba:	e8 76 c0 ff ff       	call   0x40a435
40e3bf:	89 45 f8             	mov    %eax,-0x8(%ebp)
40e3c2:	3b c3                	cmp    %ebx,%eax
40e3c4:	74 16                	je     0x40e3dc
40e3c6:	68 c8 a8 42 00       	push   $0x42a8c8
40e3cb:	50                   	push   %eax
40e3cc:	e8 c7 36 00 00       	call   0x411a98
40e3d1:	85 c0                	test   %eax,%eax
40e3d3:	75 07                	jne    0x40e3dc
40e3d5:	c7 45 c4 b8 a8 42 00 	movl   $0x42a8b8,-0x3c(%ebp)
40e3dc:	ff 75 c8             	push   -0x38(%ebp)
40e3df:	e8 53 ae ff ff       	call   0x409237
40e3e4:	8a d8                	mov    %al,%bl
40e3e6:	84 db                	test   %bl,%bl
40e3e8:	74 1d                	je     0x40e407
40e3ea:	68 00 08 00 00       	push   $0x800
40e3ef:	8d 85 b8 df ff ff    	lea    -0x2048(%ebp),%eax
40e3f5:	50                   	push   %eax
40e3f6:	ff 75 c8             	push   -0x38(%ebp)
40e3f9:	e8 09 c5 ff ff       	call   0x40a907
40e3fe:	8d 85 b8 df ff ff    	lea    -0x2048(%ebp),%eax
40e404:	89 45 c8             	mov    %eax,-0x38(%ebp)
40e407:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
40e40b:	bf ac a8 42 00       	mov    $0x42a8ac,%edi
40e410:	74 37                	je     0x40e449
40e412:	84 db                	test   %bl,%bl
40e414:	75 33                	jne    0x40e449
40e416:	ff 75 c8             	push   -0x38(%ebp)
40e419:	8d 85 b8 ef ff ff    	lea    -0x1048(%ebp),%eax
40e41f:	50                   	push   %eax
40e420:	e8 ae bd 00 00       	call   0x41a1d3
40e425:	8d 85 b8 ef ff ff    	lea    -0x1048(%ebp),%eax
40e42b:	57                   	push   %edi
40e42c:	50                   	push   %eax
40e42d:	e8 73 bd 00 00       	call   0x41a1a5
40e432:	83 c4 10             	add    $0x10,%esp
40e435:	8d 85 b8 ef ff ff    	lea    -0x1048(%ebp),%eax
40e43b:	50                   	push   %eax
40e43c:	e8 f6 ad ff ff       	call   0x409237
40e441:	84 c0                	test   %al,%al
40e443:	0f 84 f8 00 00 00    	je     0x40e541
40e449:	8d 45 b8             	lea    -0x48(%ebp),%eax
40e44c:	50                   	push   %eax
40e44d:	ff 15 64 a2 42 00    	call   *0x42a264
40e453:	85 c0                	test   %eax,%eax
40e455:	0f 84 e6 00 00 00    	je     0x40e541
40e45b:	80 3d 30 0d 44 00 00 	cmpb   $0x0,0x440d30
40e462:	8b 35 8c a2 42 00    	mov    0x42a28c,%esi
40e468:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40e46c:	bb e8 03 00 00       	mov    $0x3e8,%ebx
40e471:	75 0f                	jne    0x40e482
40e473:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
40e477:	75 09                	jne    0x40e482
40e479:	80 3d 19 0d 44 00 00 	cmpb   $0x0,0x440d19
40e480:	74 60                	je     0x40e4e2
40e482:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40e486:	74 18                	je     0x40e4a0
40e488:	ff 75 08             	push   0x8(%ebp)
40e48b:	ff 15 dc a2 42 00    	call   *0x42a2dc
40e491:	85 c0                	test   %eax,%eax
40e493:	74 0b                	je     0x40e4a0
40e495:	6a 00                	push   $0x0
40e497:	ff 75 08             	push   0x8(%ebp)
40e49a:	ff d6                	call   *%esi
40e49c:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
40e4a0:	68 d0 07 00 00       	push   $0x7d0
40e4a5:	ff 75 f0             	push   -0x10(%ebp)
40e4a8:	ff 15 d8 a2 42 00    	call   *0x42a2d8
40e4ae:	ff 75 f0             	push   -0x10(%ebp)
40e4b1:	e8 1e f2 ff ff       	call   0x40d6d4
40e4b6:	80 3d 19 0d 44 00 00 	cmpb   $0x0,0x440d19
40e4bd:	74 23                	je     0x40e4e2
40e4bf:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e4c2:	50                   	push   %eax
40e4c3:	ff 75 f0             	push   -0x10(%ebp)
40e4c6:	ff 15 b4 a0 42 00    	call   *0x42a0b4
40e4cc:	85 c0                	test   %eax,%eax
40e4ce:	74 12                	je     0x40e4e2
40e4d0:	8b 45 f4             	mov    -0xc(%ebp),%eax
40e4d3:	03 c3                	add    %ebx,%eax
40e4d5:	3b 05 1c 0d 44 00    	cmp    0x440d1c,%eax
40e4db:	76 05                	jbe    0x40e4e2
40e4dd:	a3 1c 0d 44 00       	mov    %eax,0x440d1c
40e4e2:	ff 75 f0             	push   -0x10(%ebp)
40e4e5:	ff 15 1c a2 42 00    	call   *0x42a21c
40e4eb:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40e4ef:	74 0d                	je     0x40e4fe
40e4f1:	57                   	push   %edi
40e4f2:	ff 75 f8             	push   -0x8(%ebp)
40e4f5:	e8 9e 35 00 00       	call   0x411a98
40e4fa:	85 c0                	test   %eax,%eax
40e4fc:	74 30                	je     0x40e52e
40e4fe:	80 3d 30 0d 44 00 00 	cmpb   $0x0,0x440d30
40e505:	74 12                	je     0x40e519
40e507:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
40e50b:	75 0c                	jne    0x40e519
40e50d:	c7 05 20 0d 44 00 58 	movl   $0x1b58,0x440d20
40e514:	1b 00 00
40e517:	eb 15                	jmp    0x40e52e
40e519:	33 c0                	xor    %eax,%eax
40e51b:	38 45 0c             	cmp    %al,0xc(%ebp)
40e51e:	0f 94 c0             	sete   %al
40e521:	48                   	dec    %eax
40e522:	25 e0 fc ff ff       	and    $0xfffffce0,%eax
40e527:	03 c3                	add    %ebx,%eax
40e529:	a3 20 0d 44 00       	mov    %eax,0x440d20
40e52e:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
40e532:	74 0d                	je     0x40e541
40e534:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
40e538:	74 07                	je     0x40e541
40e53a:	6a 01                	push   $0x1
40e53c:	ff 75 08             	push   0x8(%ebp)
40e53f:	ff d6                	call   *%esi
40e541:	5f                   	pop    %edi
40e542:	5e                   	pop    %esi
40e543:	5b                   	pop    %ebx
40e544:	c9                   	leave
40e545:	c2 08 00             	ret    $0x8
40e548:	56                   	push   %esi
40e549:	8b f1                	mov    %ecx,%esi
40e54b:	8d 8e 44 94 00 00    	lea    0x9444(%esi),%ecx
40e551:	e8 b9 40 00 00       	call   0x41260f
40e556:	8d 8e e8 93 00 00    	lea    0x93e8(%esi),%ecx
40e55c:	e8 ae 40 00 00       	call   0x41260f
40e561:	8d 8e 8c 93 00 00    	lea    0x938c(%esi),%ecx
40e567:	e8 a3 40 00 00       	call   0x41260f
40e56c:	8d 8e 30 93 00 00    	lea    0x9330(%esi),%ecx
40e572:	e8 98 40 00 00       	call   0x41260f
40e577:	8d 8e d4 92 00 00    	lea    0x92d4(%esi),%ecx
40e57d:	e8 8d 40 00 00       	call   0x41260f
40e582:	8b ce                	mov    %esi,%ecx
40e584:	5e                   	pop    %esi
40e585:	e9 84 b9 ff ff       	jmp    0x409f0e
40e58a:	80 3d e6 0c 44 00 00 	cmpb   $0x0,0x440ce6
40e591:	8b 44 24 0c          	mov    0xc(%esp),%eax
40e595:	a3 e8 0c 44 00       	mov    %eax,0x440ce8
40e59a:	8b 44 24 10          	mov    0x10(%esp),%eax
40e59e:	a3 ec 0c 44 00       	mov    %eax,0x440cec
40e5a3:	8b 44 24 14          	mov    0x14(%esp),%eax
40e5a7:	a3 e0 0c 44 00       	mov    %eax,0x440ce0
40e5ac:	74 04                	je     0x40e5b2
40e5ae:	33 c0                	xor    %eax,%eax
40e5b0:	eb 65                	jmp    0x40e617
40e5b2:	80 3d e7 0c 44 00 00 	cmpb   $0x0,0x440ce7
40e5b9:	74 05                	je     0x40e5c0
40e5bb:	33 c0                	xor    %eax,%eax
40e5bd:	40                   	inc    %eax
40e5be:	eb 57                	jmp    0x40e617
40e5c0:	53                   	push   %ebx
40e5c1:	55                   	push   %ebp
40e5c2:	56                   	push   %esi
40e5c3:	8b 35 e0 a2 42 00    	mov    0x42a2e0,%esi
40e5c9:	57                   	push   %edi
40e5ca:	bd db dc 40 00       	mov    $0x40dcdb,%ebp
40e5cf:	bb 88 a8 42 00       	mov    $0x42a888,%ebx
40e5d4:	eb 20                	jmp    0x40e5f6
40e5d6:	ff 74 24 14          	push   0x14(%esp)
40e5da:	68 a3 d2 40 00       	push   $0x40d2a3
40e5df:	ff 35 fc 0c 44 00    	push   0x440cfc
40e5e5:	68 e0 a7 42 00       	push   $0x42a7e0
40e5ea:	ff 35 70 2a 43 00    	push   0x432a70
40e5f0:	ff d6                	call   *%esi
40e5f2:	85 c0                	test   %eax,%eax
40e5f4:	75 1b                	jne    0x40e611
40e5f6:	ff 74 24 14          	push   0x14(%esp)
40e5fa:	55                   	push   %ebp
40e5fb:	ff 35 00 0d 44 00    	push   0x440d00
40e601:	53                   	push   %ebx
40e602:	ff 35 6c 2a 43 00    	push   0x432a6c
40e608:	ff d6                	call   *%esi
40e60a:	8b f8                	mov    %eax,%edi
40e60c:	83 ff 04             	cmp    $0x4,%edi
40e60f:	74 c5                	je     0x40e5d6
40e611:	8b c7                	mov    %edi,%eax
40e613:	5f                   	pop    %edi
40e614:	5e                   	pop    %esi
40e615:	5d                   	pop    %ebp
40e616:	5b                   	pop    %ebx
40e617:	c2 18 00             	ret    $0x18
40e61a:	b8 dc 93 42 00       	mov    $0x4293dc,%eax
40e61f:	e8 94 b8 00 00       	call   0x419eb8
40e624:	51                   	push   %ecx
40e625:	b8 90 b2 00 00       	mov    $0xb290,%eax
40e62a:	e8 a1 be 00 00       	call   0x41a4d0
40e62f:	53                   	push   %ebx
40e630:	56                   	push   %esi
40e631:	57                   	push   %edi
40e632:	33 db                	xor    %ebx,%ebx
40e634:	89 65 f0             	mov    %esp,-0x10(%ebp)
40e637:	53                   	push   %ebx
40e638:	8d 8d 60 4d ff ff    	lea    -0xb2a0(%ebp),%ecx
40e63e:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40e641:	e8 e2 31 ff ff       	call   0x401828
40e646:	ff 75 0c             	push   0xc(%ebp)
40e649:	8d 8d 60 4d ff ff    	lea    -0xb2a0(%ebp),%ecx
40e64f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40e653:	e8 c8 33 ff ff       	call   0x401a20
40e658:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40e65b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40e65e:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40e661:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40e664:	8d 45 e0             	lea    -0x20(%ebp),%eax
40e667:	50                   	push   %eax
40e668:	8d 8d 60 4d ff ff    	lea    -0xb2a0(%ebp),%ecx
40e66e:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40e672:	e8 f7 30 ff ff       	call   0x40176e
40e677:	3a c3                	cmp    %bl,%al
40e679:	74 37                	je     0x40e6b2
40e67b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40e67e:	8d 34 00             	lea    (%eax,%eax,1),%esi
40e681:	8b f8                	mov    %eax,%edi
40e683:	8d 46 02             	lea    0x2(%esi),%eax
40e686:	50                   	push   %eax
40e687:	e8 d2 e2 00 00       	call   0x41c95e
40e68c:	59                   	pop    %ecx
40e68d:	8b 4d 10             	mov    0x10(%ebp),%ecx
40e690:	89 01                	mov    %eax,(%ecx)
40e692:	3b c3                	cmp    %ebx,%eax
40e694:	75 04                	jne    0x40e69a
40e696:	33 ff                	xor    %edi,%edi
40e698:	eb 13                	jmp    0x40e6ad
40e69a:	33 c9                	xor    %ecx,%ecx
40e69c:	56                   	push   %esi
40e69d:	66 89 0c 06          	mov    %cx,(%esi,%eax,1)
40e6a1:	ff 75 e0             	push   -0x20(%ebp)
40e6a4:	50                   	push   %eax
40e6a5:	e8 c6 d5 00 00       	call   0x41bc70
40e6aa:	83 c4 0c             	add    $0xc,%esp
40e6ad:	8b 45 14             	mov    0x14(%ebp),%eax
40e6b0:	89 38                	mov    %edi,(%eax)
40e6b2:	39 5d e0             	cmp    %ebx,-0x20(%ebp)
40e6b5:	74 09                	je     0x40e6c0
40e6b7:	ff 75 e0             	push   -0x20(%ebp)
40e6ba:	e8 23 b8 00 00       	call   0x419ee2
40e6bf:	59                   	pop    %ecx
40e6c0:	8d 8d 60 4d ff ff    	lea    -0xb2a0(%ebp),%ecx
40e6c6:	88 5d fc             	mov    %bl,-0x4(%ebp)
40e6c9:	e8 5a 2b ff ff       	call   0x401228
40e6ce:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40e6d1:	5f                   	pop    %edi
40e6d2:	5e                   	pop    %esi
40e6d3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e6da:	5b                   	pop    %ebx
40e6db:	c9                   	leave
40e6dc:	c2 10 00             	ret    $0x10
40e6df:	be 74 2a 43 00       	mov    $0x432a74,%esi
40e6e4:	8b ce                	mov    %esi,%ecx
40e6e6:	e8 ab 7d ff ff       	call   0x406496
40e6eb:	6a 08                	push   $0x8
40e6ed:	8b ce                	mov    %esi,%ecx
40e6ef:	e8 16 7d ff ff       	call   0x40640a
40e6f4:	8b 75 08             	mov    0x8(%ebp),%esi
40e6f7:	e8 7e f1 ff ff       	call   0x40d87a
40e6fc:	b8 02 e7 40 00       	mov    $0x40e702,%eax