40d459:	a1 48 26 43 00       	mov    0x432648,%eax
40d45e:	0f b7 04 06          	movzwl (%esi,%eax,1),%eax
40d462:	50                   	push   %eax
40d463:	68 74 18 40 00       	push   $0x401874
40d468:	57                   	push   %edi
40d469:	68 30 1d 43 00       	push   $0x431d30
40d46e:	e8 35 65 ff ff       	call   0x4039a8
40d473:	83 c4 14             	add    $0x14,%esp
40d476:	85 c0                	test   %eax,%eax
40d478:	0f 88 ab 00 00 00    	js     0x40d529
40d47e:	a1 48 26 43 00       	mov    0x432648,%eax
40d483:	b9 9f 00 00 00       	mov    $0x9f,%ecx
40d488:	03 c6                	add    %esi,%eax
40d48a:	66 39 08             	cmp    %cx,(%eax)
40d48d:	0f 86 88 00 00 00    	jbe    0x40d51b
40d493:	6a 00                	push   $0x0
40d495:	6a 00                	push   $0x0
40d497:	6a 02                	push   $0x2
40d499:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40d49f:	51                   	push   %ecx
40d4a0:	6a 01                	push   $0x1
40d4a2:	50                   	push   %eax
40d4a3:	68 00 04 00 00       	push   $0x400
40d4a8:	ff 35 5c 26 43 00    	push   0x43265c
40d4ae:	ff 15 b0 31 43 00    	call   *0x4331b0
40d4b4:	83 f8 01             	cmp    $0x1,%eax
40d4b7:	75 62                	jne    0x40d51b
40d4b9:	80 bd f0 fd ff ff 7f 	cmpb   $0x7f,-0x210(%ebp)
40d4c0:	76 59                	jbe    0x40d51b
40d4c2:	57                   	push   %edi
40d4c3:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40d4c9:	50                   	push   %eax
40d4ca:	6a 75                	push   $0x75
40d4cc:	ff 35 0c 19 41 00    	push   0x41190c
40d4d2:	ff 15 20 33 43 00    	call   *0x433320
40d4d8:	0f b6 85 f0 fd ff ff 	movzbl -0x210(%ebp),%eax
40d4df:	50                   	push   %eax
40d4e0:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40d4e6:	50                   	push   %eax
40d4e7:	68 8c 18 40 00       	push   $0x40188c
40d4ec:	57                   	push   %edi
40d4ed:	68 28 1b 43 00       	push   $0x431b28
40d4f2:	e8 b1 64 ff ff       	call   0x4039a8
40d4f7:	83 c4 14             	add    $0x14,%esp
40d4fa:	85 c0                	test   %eax,%eax
40d4fc:	79 1d                	jns    0x40d51b
40d4fe:	eb 29                	jmp    0x40d529
40d500:	68 04 01 00 00       	push   $0x104
40d505:	68 30 1d 43 00       	push   $0x431d30
40d50a:	68 90 01 00 00       	push   $0x190
40d50f:	ff 35 0c 19 41 00    	push   0x41190c
40d515:	ff 15 20 33 43 00    	call   *0x433320
40d51b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40d51f:	74 08                	je     0x40d529
40d521:	51                   	push   %ecx
40d522:	8b cb                	mov    %ebx,%ecx
40d524:	e8 85 05 00 00       	call   0x40daae
40d529:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40d52c:	5f                   	pop    %edi
40d52d:	5e                   	pop    %esi
40d52e:	33 cd                	xor    %ebp,%ecx
40d530:	5b                   	pop    %ebx
40d531:	e8 fa 2e 00 00       	call   0x410430
40d536:	c9                   	leave
40d537:	c2 04 00             	ret    $0x4
40d53a:	8b ff                	mov    %edi,%edi
40d53c:	55                   	push   %ebp
40d53d:	8b ec                	mov    %esp,%ebp
40d53f:	51                   	push   %ecx
40d540:	56                   	push   %esi
40d541:	57                   	push   %edi
40d542:	8b f9                	mov    %ecx,%edi
40d544:	ba 70 1f 43 00       	mov    $0x431f70,%edx
40d549:	8b 0d 14 19 43 00    	mov    0x431914,%ecx
40d54f:	e8 1f 07 00 00       	call   0x40dc73
40d554:	33 d2                	xor    %edx,%edx
40d556:	8b cf                	mov    %edi,%ecx
40d558:	42                   	inc    %edx
40d559:	e8 e9 00 00 00       	call   0x40d647
40d55e:	85 ff                	test   %edi,%edi
40d560:	0f 84 83 00 00 00    	je     0x40d5e9
40d566:	57                   	push   %edi
40d567:	ff 15 f0 32 43 00    	call   *0x4332f0
40d56d:	8b f0                	mov    %eax,%esi
40d56f:	85 f6                	test   %esi,%esi
40d571:	74 76                	je     0x40d5e9
40d573:	53                   	push   %ebx
40d574:	ff 35 cc 1f 43 00    	push   0x431fcc
40d57a:	56                   	push   %esi
40d57b:	ff 15 ac 30 43 00    	call   *0x4330ac
40d581:	83 3d 48 26 43 00 00 	cmpl   $0x0,0x432648
40d588:	bb d8 1f 43 00       	mov    $0x431fd8,%ebx
40d58d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d590:	74 1b                	je     0x40d5ad
40d592:	0f b7 15 80 26 43 00 	movzwl 0x432680,%edx
40d599:	51                   	push   %ecx
40d59a:	0f b7 0d 3c 13 41 00 	movzwl 0x41133c,%ecx
40d5a1:	53                   	push   %ebx
40d5a2:	51                   	push   %ecx
40d5a3:	8b ce                	mov    %esi,%ecx
40d5a5:	e8 41 76 ff ff       	call   0x404beb
40d5aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d5ad:	50                   	push   %eax
40d5ae:	56                   	push   %esi
40d5af:	ff 15 ac 30 43 00    	call   *0x4330ac
40d5b5:	0f b7 0d 3c 13 41 00 	movzwl 0x41133c,%ecx
40d5bc:	0f b7 05 80 26 43 00 	movzwl 0x432680,%eax
40d5c3:	3b c1                	cmp    %ecx,%eax
40d5c5:	77 19                	ja     0x40d5e0
40d5c7:	2b c8                	sub    %eax,%ecx
40d5c9:	41                   	inc    %ecx
40d5ca:	a1 70 1f 43 00       	mov    0x431f70,%eax
40d5cf:	2b 03                	sub    (%ebx),%eax
40d5d1:	99                   	cltd
40d5d2:	2b c2                	sub    %edx,%eax
40d5d4:	d1 f8                	sar    $1,%eax
40d5d6:	89 03                	mov    %eax,(%ebx)
40d5d8:	8d 5b 04             	lea    0x4(%ebx),%ebx
40d5db:	83 e9 01             	sub    $0x1,%ecx
40d5de:	75 ea                	jne    0x40d5ca
40d5e0:	56                   	push   %esi
40d5e1:	57                   	push   %edi
40d5e2:	ff 15 08 33 43 00    	call   *0x433308
40d5e8:	5b                   	pop    %ebx
40d5e9:	33 ff                	xor    %edi,%edi
40d5eb:	66 39 3d c4 1f 43 00 	cmp    %di,0x431fc4
40d5f2:	74 40                	je     0x40d634
40d5f4:	ff 35 10 19 43 00    	push   0x431910
40d5fa:	33 c0                	xor    %eax,%eax
40d5fc:	66 a3 c4 1f 43 00    	mov    %ax,0x431fc4
40d602:	ff 15 f0 32 43 00    	call   *0x4332f0
40d608:	8b 15 c4 1f 43 00    	mov    0x431fc4,%edx
40d60e:	8b f0                	mov    %eax,%esi
40d610:	57                   	push   %edi
40d611:	8b ce                	mov    %esi,%ecx
40d613:	e8 06 fd ff ff       	call   0x40d31e
40d618:	56                   	push   %esi
40d619:	ff 35 10 19 43 00    	push   0x431910
40d61f:	ff 15 08 33 43 00    	call   *0x433308
40d625:	6a 01                	push   $0x1
40d627:	57                   	push   %edi
40d628:	ff 35 10 19 43 00    	push   0x431910
40d62e:	ff 15 fc 31 43 00    	call   *0x4331fc
40d634:	6a 01                	push   $0x1
40d636:	57                   	push   %edi
40d637:	ff 35 14 19 43 00    	push   0x431914
40d63d:	ff 15 fc 31 43 00    	call   *0x4331fc
40d643:	5f                   	pop    %edi
40d644:	5e                   	pop    %esi
40d645:	c9                   	leave
40d646:	c3                   	ret
40d647:	8b ff                	mov    %edi,%edi
40d649:	55                   	push   %ebp
40d64a:	8b ec                	mov    %esp,%ebp
40d64c:	83 ec 1c             	sub    $0x1c,%esp
40d64f:	53                   	push   %ebx
40d650:	8b d9                	mov    %ecx,%ebx
40d652:	33 c0                	xor    %eax,%eax
40d654:	33 c9                	xor    %ecx,%ecx
40d656:	66 a3 7c 26 43 00    	mov    %ax,0x43267c
40d65c:	89 4d e8             	mov    %ecx,-0x18(%ebp)
40d65f:	56                   	push   %esi
40d660:	57                   	push   %edi
40d661:	85 d2                	test   %edx,%edx
40d663:	0f 84 85 00 00 00    	je     0x40d6ee
40d669:	68 82 00 00 00       	push   $0x82
40d66e:	8b f1                	mov    %ecx,%esi
40d670:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40d673:	8b f9                	mov    %ecx,%edi
40d675:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40d678:	53                   	push   %ebx
40d679:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40d67c:	89 75 fc             	mov    %esi,-0x4(%ebp)
40d67f:	89 7d f8             	mov    %edi,-0x8(%ebp)
40d682:	ff 15 14 33 43 00    	call   *0x433314
40d688:	85 c0                	test   %eax,%eax
40d68a:	75 06                	jne    0x40d692
40d68c:	33 c9                	xor    %ecx,%ecx
40d68e:	8b c1                	mov    %ecx,%eax
40d690:	eb 07                	jmp    0x40d699
40d692:	8b c8                	mov    %eax,%ecx
40d694:	e8 42 67 ff ff       	call   0x403ddb
40d699:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40d69c:	51                   	push   %ecx
40d69d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40d6a0:	51                   	push   %ecx
40d6a1:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40d6a4:	51                   	push   %ecx
40d6a5:	50                   	push   %eax
40d6a6:	8b cb                	mov    %ebx,%ecx
40d6a8:	e8 2f a0 ff ff       	call   0x4076dc
40d6ad:	6a 69                	push   $0x69
40d6af:	53                   	push   %ebx
40d6b0:	ff 15 14 33 43 00    	call   *0x433314
40d6b6:	85 c0                	test   %eax,%eax
40d6b8:	74 12                	je     0x40d6cc
40d6ba:	50                   	push   %eax
40d6bb:	8d 55 f8             	lea    -0x8(%ebp),%edx
40d6be:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40d6c1:	e8 bb 74 ff ff       	call   0x404b81
40d6c6:	8b 75 fc             	mov    -0x4(%ebp),%esi
40d6c9:	8b 7d f8             	mov    -0x8(%ebp),%edi
40d6cc:	8b 55 f0             	mov    -0x10(%ebp),%edx
40d6cf:	51                   	push   %ecx
40d6d0:	ff 75 f4             	push   -0xc(%ebp)
40d6d3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40d6d6:	57                   	push   %edi
40d6d7:	56                   	push   %esi
40d6d8:	e8 ef 67 ff ff       	call   0x403ecc
40d6dd:	a3 48 26 43 00       	mov    %eax,0x432648
40d6e2:	85 c0                	test   %eax,%eax
40d6e4:	0f 84 3f 01 00 00    	je     0x40d829
40d6ea:	33 c9                	xor    %ecx,%ecx
40d6ec:	eb 05                	jmp    0x40d6f3
40d6ee:	a1 48 26 43 00       	mov    0x432648,%eax
40d6f3:	85 c0                	test   %eax,%eax
40d6f5:	74 12                	je     0x40d709
40d6f7:	66 39 08             	cmp    %cx,(%eax)
40d6fa:	74 0d                	je     0x40d709
40d6fc:	50                   	push   %eax
40d6fd:	ff 15 a8 31 43 00    	call   *0x4331a8
40d703:	48                   	dec    %eax
40d704:	0f b7 c0             	movzwl %ax,%eax
40d707:	eb 02                	jmp    0x40d70b
40d709:	8b c1                	mov    %ecx,%eax
40d70b:	0f b7 3d 7c 26 43 00 	movzwl 0x43267c,%edi
40d712:	66 a3 38 13 41 00    	mov    %ax,0x411338
40d718:	0f b7 c0             	movzwl %ax,%eax
40d71b:	89 7d ec             	mov    %edi,-0x14(%ebp)
40d71e:	8d b7 c7 00 00 00    	lea    0xc7(%edi),%esi
40d724:	3b f0                	cmp    %eax,%esi
40d726:	72 02                	jb     0x40d72a
40d728:	8b f0                	mov    %eax,%esi
40d72a:	68 cc 00 00 00       	push   $0xcc
40d72f:	53                   	push   %ebx
40d730:	ff 15 14 33 43 00    	call   *0x433314
40d736:	0f b7 0d 38 13 41 00 	movzwl 0x411338,%ecx
40d73d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d740:	3b f1                	cmp    %ecx,%esi
40d742:	74 62                	je     0x40d7a6
40d744:	33 c9                	xor    %ecx,%ecx
40d746:	c7 45 e8 05 00 00 00 	movl   $0x5,-0x18(%ebp)
40d74d:	51                   	push   %ecx
40d74e:	51                   	push   %ecx
40d74f:	6a 02                	push   $0x2
40d751:	50                   	push   %eax
40d752:	ff 15 d0 32 43 00    	call   *0x4332d0
40d758:	0f b7 05 7c 26 43 00 	movzwl 0x43267c,%eax
40d75f:	0f b7 0d 38 13 41 00 	movzwl 0x411338,%ecx
40d766:	2b c8                	sub    %eax,%ecx
40d768:	a1 b0 10 41 00       	mov    0x4110b0,%eax
40d76d:	81 e9 c7 00 00 00    	sub    $0xc7,%ecx
40d773:	3b c8                	cmp    %eax,%ecx
40d775:	7d 05                	jge    0x40d77c
40d777:	33 c0                	xor    %eax,%eax
40d779:	40                   	inc    %eax
40d77a:	eb 0a                	jmp    0x40d786
40d77c:	48                   	dec    %eax
40d77d:	03 c1                	add    %ecx,%eax
40d77f:	99                   	cltd
40d780:	f7 3d b0 10 41 00    	idivl  0x4110b0
40d786:	33 c9                	xor    %ecx,%ecx
40d788:	51                   	push   %ecx
40d789:	50                   	push   %eax
40d78a:	51                   	push   %ecx
40d78b:	6a 02                	push   $0x2
40d78d:	ff 75 fc             	push   -0x4(%ebp)
40d790:	ff 15 d4 32 43 00    	call   *0x4332d4
40d796:	33 c0                	xor    %eax,%eax
40d798:	50                   	push   %eax
40d799:	50                   	push   %eax
40d79a:	ff 75 fc             	push   -0x4(%ebp)
40d79d:	ff 15 fc 31 43 00    	call   *0x4331fc
40d7a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d7a6:	ff 75 e8             	push   -0x18(%ebp)
40d7a9:	50                   	push   %eax
40d7aa:	ff 15 f4 31 43 00    	call   *0x4331f4
40d7b0:	56                   	push   %esi
40d7b1:	8b d7                	mov    %edi,%edx
40d7b3:	8b cb                	mov    %ebx,%ecx
40d7b5:	e8 46 02 00 00       	call   0x40da00
40d7ba:	53                   	push   %ebx
40d7bb:	ff 15 f0 32 43 00    	call   *0x4332f0
40d7c1:	8b f8                	mov    %eax,%edi
40d7c3:	85 ff                	test   %edi,%edi
40d7c5:	74 62                	je     0x40d829
40d7c7:	ff 35 cc 1f 43 00    	push   0x431fcc
40d7cd:	57                   	push   %edi
40d7ce:	ff 15 ac 30 43 00    	call   *0x4330ac
40d7d4:	83 3d 48 26 43 00 00 	cmpl   $0x0,0x432648
40d7db:	89 45 e8             	mov    %eax,-0x18(%ebp)
40d7de:	74 14                	je     0x40d7f4
40d7e0:	8b 55 ec             	mov    -0x14(%ebp),%edx
40d7e3:	51                   	push   %ecx
40d7e4:	68 d8 1f 43 00       	push   $0x431fd8
40d7e9:	56                   	push   %esi
40d7ea:	8b cf                	mov    %edi,%ecx
40d7ec:	e8 fa 73 ff ff       	call   0x404beb
40d7f1:	8b 45 e8             	mov    -0x18(%ebp),%eax
40d7f4:	50                   	push   %eax
40d7f5:	57                   	push   %edi
40d7f6:	ff 15 ac 30 43 00    	call   *0x4330ac
40d7fc:	8b 45 ec             	mov    -0x14(%ebp),%eax
40d7ff:	3b c6                	cmp    %esi,%eax
40d801:	77 1e                	ja     0x40d821
40d803:	2b f0                	sub    %eax,%esi
40d805:	b9 d8 1f 43 00       	mov    $0x431fd8,%ecx
40d80a:	46                   	inc    %esi
40d80b:	a1 70 1f 43 00       	mov    0x431f70,%eax
40d810:	2b 01                	sub    (%ecx),%eax
40d812:	99                   	cltd
40d813:	2b c2                	sub    %edx,%eax
40d815:	d1 f8                	sar    $1,%eax
40d817:	89 01                	mov    %eax,(%ecx)
40d819:	8d 49 04             	lea    0x4(%ecx),%ecx
40d81c:	83 ee 01             	sub    $0x1,%esi
40d81f:	75 ea                	jne    0x40d80b
40d821:	57                   	push   %edi
40d822:	53                   	push   %ebx
40d823:	ff 15 08 33 43 00    	call   *0x433308
40d829:	5f                   	pop    %edi
40d82a:	5e                   	pop    %esi
40d82b:	5b                   	pop    %ebx
40d82c:	c9                   	leave
40d82d:	c3                   	ret
40d82e:	8b ff                	mov    %edi,%edi
40d830:	55                   	push   %ebp
40d831:	8b ec                	mov    %esp,%ebp
40d833:	83 ec 20             	sub    $0x20,%esp
40d836:	53                   	push   %ebx
40d837:	56                   	push   %esi
40d838:	57                   	push   %edi
40d839:	8b f9                	mov    %ecx,%edi
40d83b:	89 55 e4             	mov    %edx,-0x1c(%ebp)
40d83e:	33 c9                	xor    %ecx,%ecx
40d840:	89 7d e0             	mov    %edi,-0x20(%ebp)
40d843:	68 82 00 00 00       	push   $0x82
40d848:	33 c0                	xor    %eax,%eax
40d84a:	89 4d e8             	mov    %ecx,-0x18(%ebp)
40d84d:	8b f1                	mov    %ecx,%esi
40d84f:	66 a3 7c 26 43 00    	mov    %ax,0x43267c
40d855:	8b d9                	mov    %ecx,%ebx
40d857:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40d85a:	57                   	push   %edi
40d85b:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40d85e:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40d861:	89 75 fc             	mov    %esi,-0x4(%ebp)
40d864:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40d867:	ff 15 14 33 43 00    	call   *0x433314
40d86d:	85 c0                	test   %eax,%eax