45041b:	89 75 e0             	mov    %esi,-0x20(%ebp)
45041e:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
450422:	e8 94 f2 ff ff       	call   0x44f6bb
450427:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45042a:	89 75 e8             	mov    %esi,-0x18(%ebp)
45042d:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
450431:	e8 85 f2 ff ff       	call   0x44f6bb
450436:	8d 4d d0             	lea    -0x30(%ebp),%ecx
450439:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45043d:	e8 a3 ef ff ff       	call   0x44f3e5
450442:	8d 4d b0             	lea    -0x50(%ebp),%ecx
450445:	88 5d fc             	mov    %bl,-0x4(%ebp)
450448:	e8 98 ef ff ff       	call   0x44f3e5
45044d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
450451:	8d 4d c0             	lea    -0x40(%ebp),%ecx
450454:	e8 8c ef ff ff       	call   0x44f3e5
450459:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45045c:	5f                   	pop    %edi
45045d:	5e                   	pop    %esi
45045e:	5b                   	pop    %ebx
45045f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
450466:	c9                   	leave
450467:	c2 10 00             	ret    $0x10
45046a:	33 c0                	xor    %eax,%eax
45046c:	eb 80                	jmp    0x4503ee
45046e:	b8 35 2f 48 00       	mov    $0x482f35,%eax
450473:	e8 04 78 fc ff       	call   0x417c7c
450478:	83 ec 5c             	sub    $0x5c,%esp
45047b:	53                   	push   %ebx
45047c:	33 db                	xor    %ebx,%ebx
45047e:	56                   	push   %esi
45047f:	b8 44 b9 48 00       	mov    $0x48b944,%eax
450484:	57                   	push   %edi
450485:	89 45 d0             	mov    %eax,-0x30(%ebp)
450488:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45048b:	89 5d d8             	mov    %ebx,-0x28(%ebp)
45048e:	89 5d dc             	mov    %ebx,-0x24(%ebp)
450491:	89 5d fc             	mov    %ebx,-0x4(%ebp)
450494:	89 45 c0             	mov    %eax,-0x40(%ebp)
450497:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
45049a:	89 5d c8             	mov    %ebx,-0x38(%ebp)
45049d:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4504a0:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4504a3:	c7 45 e8 90 b6 48 00 	movl   $0x48b690,-0x18(%ebp)
4504aa:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4504ad:	c7 45 e0 40 bb 48 00 	movl   $0x48bb40,-0x20(%ebp)
4504b4:	8b 75 08             	mov    0x8(%ebp),%esi
4504b7:	56                   	push   %esi
4504b8:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4504bb:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4504bf:	e8 ad 8c fb ff       	call   0x409171
4504c4:	85 c0                	test   %eax,%eax
4504c6:	0f 84 d0 01 00 00    	je     0x45069c
4504cc:	56                   	push   %esi
4504cd:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4504d0:	e8 9c 8c fb ff       	call   0x409171
4504d5:	85 c0                	test   %eax,%eax
4504d7:	0f 84 bf 01 00 00    	je     0x45069c
4504dd:	8d 45 98             	lea    -0x68(%ebp),%eax
4504e0:	50                   	push   %eax
4504e1:	8b 45 14             	mov    0x14(%ebp),%eax
4504e4:	6a 18                	push   $0x18
4504e6:	ff 70 04             	push   0x4(%eax)
4504e9:	ff 15 94 00 4b 00    	call   *0x4b0094
4504ef:	85 c0                	test   %eax,%eax
4504f1:	0f 84 a5 01 00 00    	je     0x45069c
4504f7:	8b 3d a8 00 4b 00    	mov    0x4b00a8,%edi
4504fd:	68 6c bb 48 00       	push   $0x48bb6c
450502:	6a 01                	push   $0x1
450504:	6a 01                	push   $0x1
450506:	6a 08                	push   $0x8
450508:	6a 08                	push   $0x8
45050a:	ff d7                	call   *%edi
45050c:	50                   	push   %eax
45050d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
450510:	e8 4f f1 ff ff       	call   0x44f664
450515:	8d 45 e8             	lea    -0x18(%ebp),%eax
450518:	50                   	push   %eax
450519:	8d 4d e0             	lea    -0x20(%ebp),%ecx
45051c:	e8 12 90 fb ff       	call   0x409533
450521:	8d 4d e8             	lea    -0x18(%ebp),%ecx
450524:	e8 92 f1 ff ff       	call   0x44f6bb
450529:	53                   	push   %ebx
45052a:	6a 01                	push   $0x1
45052c:	6a 01                	push   $0x1
45052e:	ff 75 a0             	push   -0x60(%ebp)
450531:	ff 75 9c             	push   -0x64(%ebp)
450534:	ff d7                	call   *%edi
450536:	50                   	push   %eax
450537:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45053a:	e8 25 f1 ff ff       	call   0x44f664
45053f:	8b 45 14             	mov    0x14(%ebp),%eax
450542:	ff 70 04             	push   0x4(%eax)
450545:	ff 75 d4             	push   -0x2c(%ebp)
450548:	e8 d2 f1 ff ff       	call   0x44f71f
45054d:	ff 75 ec             	push   -0x14(%ebp)
450550:	89 45 14             	mov    %eax,0x14(%ebp)
450553:	ff 75 c4             	push   -0x3c(%ebp)
450556:	e8 c4 f1 ff ff       	call   0x44f71f
45055b:	39 5d 14             	cmp    %ebx,0x14(%ebp)
45055e:	89 45 f0             	mov    %eax,-0x10(%ebp)
450561:	0f 84 35 01 00 00    	je     0x45069c
450567:	3b c3                	cmp    %ebx,%eax
450569:	0f 84 2d 01 00 00    	je     0x45069c
45056f:	53                   	push   %ebx
450570:	53                   	push   %ebx
450571:	ff 75 d4             	push   -0x2c(%ebp)
450574:	ff 15 ac ff 4a 00    	call   *0x4affac
45057a:	50                   	push   %eax
45057b:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45057e:	e8 d4 e1 ff ff       	call   0x44e757
450583:	8b 3d 88 00 4b 00    	mov    0x4b0088,%edi
450589:	68 20 00 cc 00       	push   $0xcc0020
45058e:	53                   	push   %ebx
45058f:	53                   	push   %ebx
450590:	ff 75 d4             	push   -0x2c(%ebp)
450593:	89 45 08             	mov    %eax,0x8(%ebp)
450596:	ff 75 a0             	push   -0x60(%ebp)
450599:	ff 75 9c             	push   -0x64(%ebp)
45059c:	53                   	push   %ebx
45059d:	53                   	push   %ebx
45059e:	ff 75 c4             	push   -0x3c(%ebp)
4505a1:	ff d7                	call   *%edi
4505a3:	68 ff ff ff 00       	push   $0xffffff
4505a8:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4505ab:	e8 a7 e1 ff ff       	call   0x44e757
4505b0:	68 86 00 ee 00       	push   $0xee0086
4505b5:	53                   	push   %ebx
4505b6:	53                   	push   %ebx
4505b7:	ff 75 d4             	push   -0x2c(%ebp)
4505ba:	ff 75 a0             	push   -0x60(%ebp)
4505bd:	ff 75 9c             	push   -0x64(%ebp)
4505c0:	53                   	push   %ebx
4505c1:	53                   	push   %ebx
4505c2:	ff 75 c4             	push   -0x3c(%ebp)
4505c5:	ff d7                	call   *%edi
4505c7:	ff 75 08             	push   0x8(%ebp)
4505ca:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4505cd:	e8 85 e1 ff ff       	call   0x44e757
4505d2:	ff 75 18             	push   0x18(%ebp)
4505d5:	8b 06                	mov    (%esi),%eax
4505d7:	8b ce                	mov    %esi,%ecx
4505d9:	ff 50 30             	call   *0x30(%eax)
4505dc:	ff 75 1c             	push   0x1c(%ebp)
4505df:	89 45 18             	mov    %eax,0x18(%ebp)
4505e2:	8b 06                	mov    (%esi),%eax
4505e4:	8b ce                	mov    %esi,%ecx
4505e6:	ff 50 2c             	call   *0x2c(%eax)
4505e9:	8b 7d 10             	mov    0x10(%ebp),%edi
4505ec:	ff 75 e4             	push   -0x1c(%ebp)
4505ef:	8b 55 0c             	mov    0xc(%ebp),%edx
4505f2:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
4505f5:	89 45 1c             	mov    %eax,0x1c(%ebp)
4505f8:	8b 45 a0             	mov    -0x60(%ebp),%eax
4505fb:	03 c7                	add    %edi,%eax
4505fd:	89 45 bc             	mov    %eax,-0x44(%ebp)
450600:	8d 45 b0             	lea    -0x50(%ebp),%eax
450603:	50                   	push   %eax
450604:	ff 76 04             	push   0x4(%esi)
450607:	03 ca                	add    %edx,%ecx
450609:	89 55 b0             	mov    %edx,-0x50(%ebp)
45060c:	89 7d b4             	mov    %edi,-0x4c(%ebp)
45060f:	89 4d b8             	mov    %ecx,-0x48(%ebp)
450612:	ff 15 78 06 4b 00    	call   *0x4b0678
450618:	ff 75 18             	push   0x18(%ebp)
45061b:	8b 06                	mov    (%esi),%eax
45061d:	8b ce                	mov    %esi,%ecx
45061f:	ff 50 30             	call   *0x30(%eax)
450622:	ff 75 1c             	push   0x1c(%ebp)
450625:	8b 06                	mov    (%esi),%eax
450627:	8b ce                	mov    %esi,%ecx
450629:	ff 50 2c             	call   *0x2c(%eax)
45062c:	68 46 00 66 00       	push   $0x660046
450631:	53                   	push   %ebx
450632:	53                   	push   %ebx
450633:	8d 45 d0             	lea    -0x30(%ebp),%eax
450636:	50                   	push   %eax
450637:	ff 75 a0             	push   -0x60(%ebp)
45063a:	8b ce                	mov    %esi,%ecx
45063c:	ff 75 9c             	push   -0x64(%ebp)
45063f:	57                   	push   %edi
450640:	ff 75 0c             	push   0xc(%ebp)
450643:	e8 61 8b fb ff       	call   0x4091a9
450648:	68 c6 00 88 00       	push   $0x8800c6
45064d:	53                   	push   %ebx
45064e:	53                   	push   %ebx
45064f:	8d 45 c0             	lea    -0x40(%ebp),%eax
450652:	50                   	push   %eax
450653:	ff 75 a0             	push   -0x60(%ebp)
450656:	8b ce                	mov    %esi,%ecx
450658:	ff 75 9c             	push   -0x64(%ebp)
45065b:	57                   	push   %edi
45065c:	ff 75 0c             	push   0xc(%ebp)
45065f:	e8 45 8b fb ff       	call   0x4091a9
450664:	68 46 00 66 00       	push   $0x660046
450669:	53                   	push   %ebx
45066a:	53                   	push   %ebx
45066b:	8d 45 d0             	lea    -0x30(%ebp),%eax
45066e:	50                   	push   %eax
45066f:	ff 75 a0             	push   -0x60(%ebp)
450672:	8b ce                	mov    %esi,%ecx
450674:	ff 75 9c             	push   -0x64(%ebp)
450677:	57                   	push   %edi
450678:	ff 75 0c             	push   0xc(%ebp)
45067b:	e8 29 8b fb ff       	call   0x4091a9
450680:	8b 45 f0             	mov    -0x10(%ebp),%eax
450683:	ff 70 04             	push   0x4(%eax)
450686:	ff 75 c4             	push   -0x3c(%ebp)
450689:	e8 91 f0 ff ff       	call   0x44f71f
45068e:	8b 45 14             	mov    0x14(%ebp),%eax
450691:	ff 70 04             	push   0x4(%eax)
450694:	ff 75 d4             	push   -0x2c(%ebp)
450697:	e8 83 f0 ff ff       	call   0x44f71f
45069c:	be 70 b6 48 00       	mov    $0x48b670,%esi
4506a1:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4506a4:	89 75 e0             	mov    %esi,-0x20(%ebp)
4506a7:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4506ab:	e8 0b f0 ff ff       	call   0x44f6bb
4506b0:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4506b3:	89 75 e8             	mov    %esi,-0x18(%ebp)
4506b6:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4506ba:	e8 fc ef ff ff       	call   0x44f6bb
4506bf:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4506c2:	88 5d fc             	mov    %bl,-0x4(%ebp)
4506c5:	e8 1b ed ff ff       	call   0x44f3e5
4506ca:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4506ce:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4506d1:	e8 0f ed ff ff       	call   0x44f3e5
4506d6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4506d9:	5f                   	pop    %edi
4506da:	5e                   	pop    %esi
4506db:	5b                   	pop    %ebx
4506dc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4506e3:	c9                   	leave
4506e4:	c2 18 00             	ret    $0x18
4506e7:	56                   	push   %esi
4506e8:	57                   	push   %edi
4506e9:	8b f1                	mov    %ecx,%esi
4506eb:	33 ff                	xor    %edi,%edi
4506ed:	39 7e 1c             	cmp    %edi,0x1c(%esi)
4506f0:	89 7e 24             	mov    %edi,0x24(%esi)
4506f3:	75 0f                	jne    0x450704
4506f5:	ff 76 30             	push   0x30(%esi)
4506f8:	e8 83 f9 fe ff       	call   0x440080
4506fd:	59                   	pop    %ecx
4506fe:	89 7e 30             	mov    %edi,0x30(%esi)
450701:	89 7e 28             	mov    %edi,0x28(%esi)
450704:	8b 4e 3c             	mov    0x3c(%esi),%ecx
450707:	3b cf                	cmp    %edi,%ecx
450709:	74 07                	je     0x450712
45070b:	8b 01                	mov    (%ecx),%eax
45070d:	6a 01                	push   $0x1
45070f:	ff 50 04             	call   *0x4(%eax)
450712:	8b 4e 38             	mov    0x38(%esi),%ecx
450715:	3b cf                	cmp    %edi,%ecx
450717:	89 7e 3c             	mov    %edi,0x3c(%esi)
45071a:	74 07                	je     0x450723
45071c:	8b 01                	mov    (%ecx),%eax
45071e:	6a 01                	push   $0x1
450720:	ff 50 04             	call   *0x4(%eax)
450723:	89 7e 38             	mov    %edi,0x38(%esi)
450726:	5f                   	pop    %edi
450727:	5e                   	pop    %esi
450728:	c3                   	ret
450729:	55                   	push   %ebp
45072a:	8b ec                	mov    %esp,%ebp
45072c:	51                   	push   %ecx
45072d:	51                   	push   %ecx
45072e:	53                   	push   %ebx
45072f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
450732:	85 db                	test   %ebx,%ebx
450734:	56                   	push   %esi
450735:	8b f1                	mov    %ecx,%esi
450737:	74 06                	je     0x45073f
450739:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
45073d:	75 07                	jne    0x450746
45073f:	33 c0                	xor    %eax,%eax
450741:	e9 0a 01 00 00       	jmp    0x450850
450746:	f6 46 18 01          	testb  $0x1,0x18(%esi)
45074a:	75 0a                	jne    0x450756
45074c:	ff 76 14             	push   0x14(%esi)
45074f:	6a 04                	push   $0x4
450751:	e8 05 0a 00 00       	call   0x45115b
450756:	8b 46 28             	mov    0x28(%esi),%eax
450759:	57                   	push   %edi
45075a:	8b 7e 2c             	mov    0x2c(%esi),%edi
45075d:	2b f8                	sub    %eax,%edi
45075f:	3b df                	cmp    %edi,%ebx
450761:	73 02                	jae    0x450765
450763:	8b fb                	mov    %ebx,%edi
450765:	57                   	push   %edi
450766:	50                   	push   %eax
450767:	ff 75 08             	push   0x8(%ebp)
45076a:	e8 01 71 fc ff       	call   0x417870
45076f:	01 7e 28             	add    %edi,0x28(%esi)
450772:	01 7d 08             	add    %edi,0x8(%ebp)
450775:	83 c4 0c             	add    $0xc,%esp
450778:	2b df                	sub    %edi,%ebx
45077a:	0f 84 ca 00 00 00    	je     0x45084a
450780:	33 d2                	xor    %edx,%edx
450782:	8b c3                	mov    %ebx,%eax
450784:	f7 76 20             	divl   0x20(%esi)
450787:	8b fb                	mov    %ebx,%edi
450789:	2b fa                	sub    %edx,%edi
45078b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
45078f:	89 7d fc             	mov    %edi,-0x4(%ebp)
450792:	ff 75 fc             	push   -0x4(%ebp)
450795:	8b 4e 24             	mov    0x24(%esi),%ecx
450798:	ff 75 08             	push   0x8(%ebp)
45079b:	8b 01                	mov    (%ecx),%eax
45079d:	ff 50 34             	call   *0x34(%eax)
4507a0:	01 45 08             	add    %eax,0x8(%ebp)
4507a3:	01 45 f8             	add    %eax,-0x8(%ebp)
4507a6:	29 45 fc             	sub    %eax,-0x4(%ebp)
4507a9:	85 c0                	test   %eax,%eax
4507ab:	76 06                	jbe    0x4507b3
4507ad:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4507b1:	77 df                	ja     0x450792
4507b3:	2b 5d f8             	sub    -0x8(%ebp),%ebx
4507b6:	0f 84 8e 00 00 00    	je     0x45084a
4507bc:	39 7d f8             	cmp    %edi,-0x8(%ebp)
4507bf:	0f 85 85 00 00 00    	jne    0x45084a
4507c5:	33 ff                	xor    %edi,%edi
4507c7:	39 7e 08             	cmp    %edi,0x8(%esi)
4507ca:	75 47                	jne    0x450813
4507cc:	39 7e 0c             	cmp    %edi,0xc(%esi)
4507cf:	75 0a                	jne    0x4507db
4507d1:	8b 46 20             	mov    0x20(%esi),%eax
4507d4:	3b d8                	cmp    %eax,%ebx
4507d6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4507d9:	76 03                	jbe    0x4507de
4507db:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4507de:	8b 46 30             	mov    0x30(%esi),%eax
4507e1:	89 45 f8             	mov    %eax,-0x8(%ebp)
4507e4:	ff 75 fc             	push   -0x4(%ebp)
4507e7:	8b 4e 24             	mov    0x24(%esi),%ecx
4507ea:	ff 75 f8             	push   -0x8(%ebp)
4507ed:	8b 01                	mov    (%ecx),%eax
4507ef:	ff 50 34             	call   *0x34(%eax)
4507f2:	01 45 f8             	add    %eax,-0x8(%ebp)
4507f5:	29 45 fc             	sub    %eax,-0x4(%ebp)
4507f8:	03 f8                	add    %eax,%edi
4507fa:	85 c0                	test   %eax,%eax
4507fc:	76 0a                	jbe    0x450808
4507fe:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
450802:	76 04                	jbe    0x450808
450804:	3b fb                	cmp    %ebx,%edi
450806:	72 dc                	jb     0x4507e4
450808:	8b 46 30             	mov    0x30(%esi),%eax
45080b:	8d 0c 38             	lea    (%eax,%edi,1),%ecx