45c4c1:	8b 45 d0             	mov    -0x30(%ebp),%eax
45c4c4:	2b 05 e8 c3 4a 00    	sub    0x4ac3e8,%eax
45c4ca:	03 45 c0             	add    -0x40(%ebp),%eax
45c4cd:	89 45 e0             	mov    %eax,-0x20(%ebp)
45c4d0:	8b 45 d4             	mov    -0x2c(%ebp),%eax
45c4d3:	39 45 f4             	cmp    %eax,-0xc(%ebp)
45c4d6:	0f 8f eb 00 00 00    	jg     0x45c5c7
45c4dc:	89 45 f4             	mov    %eax,-0xc(%ebp)
45c4df:	e9 e3 00 00 00       	jmp    0x45c5c7
45c4e4:	8b 45 b4             	mov    -0x4c(%ebp),%eax
45c4e7:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
45c4ea:	7e 17                	jle    0x45c503
45c4ec:	39 bb 90 00 00 00    	cmp    %edi,0x90(%ebx)
45c4f2:	75 0f                	jne    0x45c503
45c4f4:	2b 45 c4             	sub    -0x3c(%ebp),%eax
45c4f7:	50                   	push   %eax
45c4f8:	57                   	push   %edi
45c4f9:	8d 45 c0             	lea    -0x40(%ebp),%eax
45c4fc:	50                   	push   %eax
45c4fd:	ff 15 30 07 4b 00    	call   *0x4b0730
45c503:	8b 45 cc             	mov    -0x34(%ebp),%eax
45c506:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45c509:	3b c1                	cmp    %ecx,%eax
45c50b:	7e 2b                	jle    0x45c538
45c50d:	39 bb 90 00 00 00    	cmp    %edi,0x90(%ebx)
45c513:	75 23                	jne    0x45c538
45c515:	2b 45 c4             	sub    -0x3c(%ebp),%eax
45c518:	2b 05 ec c3 4a 00    	sub    0x4ac3ec,%eax
45c51e:	2b c8                	sub    %eax,%ecx
45c520:	8b 45 e4             	mov    -0x1c(%ebp),%eax
45c523:	3b c8                	cmp    %eax,%ecx
45c525:	7e 02                	jle    0x45c529
45c527:	8b c1                	mov    %ecx,%eax
45c529:	2b 45 c4             	sub    -0x3c(%ebp),%eax
45c52c:	50                   	push   %eax
45c52d:	57                   	push   %edi
45c52e:	8d 45 c0             	lea    -0x40(%ebp),%eax
45c531:	50                   	push   %eax
45c532:	ff 15 30 07 4b 00    	call   *0x4b0730
45c538:	39 7d f8             	cmp    %edi,-0x8(%ebp)
45c53b:	0f 84 99 00 00 00    	je     0x45c5da
45c541:	a1 ec c3 4a 00       	mov    0x4ac3ec,%eax
45c546:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
45c549:	03 c8                	add    %eax,%ecx
45c54b:	f7 d9                	neg    %ecx
45c54d:	51                   	push   %ecx
45c54e:	57                   	push   %edi
45c54f:	8d 45 c0             	lea    -0x40(%ebp),%eax
45c552:	50                   	push   %eax
45c553:	89 7d f8             	mov    %edi,-0x8(%ebp)
45c556:	ff 15 30 07 4b 00    	call   *0x4b0730
45c55c:	8d 45 b0             	lea    -0x50(%ebp),%eax
45c55f:	50                   	push   %eax
45c560:	8d 45 c0             	lea    -0x40(%ebp),%eax
45c563:	50                   	push   %eax
45c564:	ff 15 0c 07 4b 00    	call   *0x4b070c
45c56a:	85 c0                	test   %eax,%eax
45c56c:	75 36                	jne    0x45c5a4
45c56e:	39 bb a8 00 00 00    	cmp    %edi,0xa8(%ebx)
45c574:	75 1e                	jne    0x45c594
45c576:	f6 46 7c 01          	testb  $0x1,0x7c(%esi)
45c57a:	75 18                	jne    0x45c594
45c57c:	8b be 8c 00 00 00    	mov    0x8c(%esi),%edi
45c582:	81 c7 94 00 00 00    	add    $0x94,%edi
45c588:	8d 75 c0             	lea    -0x40(%ebp),%esi
45c58b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c58c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c58d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c58e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45c58f:	8b 75 f0             	mov    -0x10(%ebp),%esi
45c592:	33 ff                	xor    %edi,%edi
45c594:	8d 45 c0             	lea    -0x40(%ebp),%eax
45c597:	50                   	push   %eax
45c598:	ff 76 1c             	push   0x1c(%esi)
45c59b:	8d 45 80             	lea    -0x80(%ebp),%eax
45c59e:	50                   	push   %eax
45c59f:	e8 bc 6f fe ff       	call   0x443560
45c5a4:	8b 45 c4             	mov    -0x3c(%ebp),%eax
45c5a7:	2b 05 ec c3 4a 00    	sub    0x4ac3ec,%eax
45c5ad:	03 45 d4             	add    -0x2c(%ebp),%eax
45c5b0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45c5b3:	8b 45 d0             	mov    -0x30(%ebp),%eax
45c5b6:	39 45 f4             	cmp    %eax,-0xc(%ebp)
45c5b9:	7f 0c                	jg     0x45c5c7
45c5bb:	89 45 f4             	mov    %eax,-0xc(%ebp)
45c5be:	39 7d f8             	cmp    %edi,-0x8(%ebp)
45c5c1:	0f 85 c8 00 00 00    	jne    0x45c68f
45c5c7:	8b 06                	mov    (%esi),%eax
45c5c9:	8d 4d 80             	lea    -0x80(%ebp),%ecx
45c5cc:	51                   	push   %ecx
45c5cd:	8b ce                	mov    %esi,%ecx
45c5cf:	ff 90 54 01 00 00    	call   *0x154(%eax)
45c5d5:	e9 b5 00 00 00       	jmp    0x45c68f
45c5da:	8b 45 dc             	mov    -0x24(%ebp),%eax
45c5dd:	2b 05 ec c3 4a 00    	sub    0x4ac3ec,%eax
45c5e3:	39 45 c4             	cmp    %eax,-0x3c(%ebp)
45c5e6:	0f 8c 70 ff ff ff    	jl     0x45c55c
45c5ec:	8b 45 fc             	mov    -0x4(%ebp),%eax
45c5ef:	3b c7                	cmp    %edi,%eax
45c5f1:	0f 8e 65 ff ff ff    	jle    0x45c55c
45c5f7:	48                   	dec    %eax
45c5f8:	50                   	push   %eax
45c5f9:	8d 8b 94 00 00 00    	lea    0x94(%ebx),%ecx
45c5ff:	e8 61 9c fb ff       	call   0x416265
45c604:	39 38                	cmp    %edi,(%eax)
45c606:	0f 84 50 ff ff ff    	je     0x45c55c
45c60c:	33 f6                	xor    %esi,%esi
45c60e:	46                   	inc    %esi
45c60f:	56                   	push   %esi
45c610:	57                   	push   %edi
45c611:	ff 75 fc             	push   -0x4(%ebp)
45c614:	8d 8b 94 00 00 00    	lea    0x94(%ebx),%ecx
45c61a:	e8 56 08 fe ff       	call   0x43ce75
45c61f:	89 75 f8             	mov    %esi,-0x8(%ebp)
45c622:	eb 04                	jmp    0x45c628
45c624:	3b c7                	cmp    %edi,%eax
45c626:	75 67                	jne    0x45c68f
45c628:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c62b:	3b c7                	cmp    %edi,%eax
45c62d:	74 60                	je     0x45c68f
45c62f:	39 7d 10             	cmp    %edi,0x10(%ebp)
45c632:	74 2d                	je     0x45c661
45c634:	2b 05 ec c3 4a 00    	sub    0x4ac3ec,%eax
45c63a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
45c63d:	03 c8                	add    %eax,%ecx
45c63f:	8b 45 e0             	mov    -0x20(%ebp),%eax
45c642:	39 45 e8             	cmp    %eax,-0x18(%ebp)
45c645:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
45c648:	7f 03                	jg     0x45c64d
45c64a:	89 45 e8             	mov    %eax,-0x18(%ebp)
45c64d:	39 4d ec             	cmp    %ecx,-0x14(%ebp)
45c650:	7f 03                	jg     0x45c655
45c652:	89 4d ec             	mov    %ecx,-0x14(%ebp)
45c655:	a1 e8 c3 4a 00       	mov    0x4ac3e8,%eax
45c65a:	f7 d8                	neg    %eax
45c65c:	89 45 e0             	mov    %eax,-0x20(%ebp)
45c65f:	eb 2b                	jmp    0x45c68c
45c661:	2b 05 e8 c3 4a 00    	sub    0x4ac3e8,%eax
45c667:	8b 4d e0             	mov    -0x20(%ebp),%ecx
45c66a:	03 c8                	add    %eax,%ecx
45c66c:	39 4d e8             	cmp    %ecx,-0x18(%ebp)
45c66f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
45c672:	7f 03                	jg     0x45c677
45c674:	89 4d e8             	mov    %ecx,-0x18(%ebp)
45c677:	8b 45 e4             	mov    -0x1c(%ebp),%eax
45c67a:	39 45 ec             	cmp    %eax,-0x14(%ebp)
45c67d:	7f 03                	jg     0x45c682
45c67f:	89 45 ec             	mov    %eax,-0x14(%ebp)
45c682:	a1 ec c3 4a 00       	mov    0x4ac3ec,%eax
45c687:	f7 d8                	neg    %eax
45c689:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45c68c:	89 7d f4             	mov    %edi,-0xc(%ebp)
45c68f:	ff 45 fc             	incl   -0x4(%ebp)
45c692:	8b 45 fc             	mov    -0x4(%ebp),%eax
45c695:	3b 83 9c 00 00 00    	cmp    0x9c(%ebx),%eax
45c69b:	0f 8c 9a fc ff ff    	jl     0x45c33b
45c6a1:	39 bb a8 00 00 00    	cmp    %edi,0xa8(%ebx)
45c6a7:	75 0e                	jne    0x45c6b7
45c6a9:	39 7d 80             	cmp    %edi,-0x80(%ebp)
45c6ac:	74 09                	je     0x45c6b7
45c6ae:	ff 75 80             	push   -0x80(%ebp)
45c6b1:	ff 15 c0 06 4b 00    	call   *0x4b06c0
45c6b7:	8d 45 a0             	lea    -0x60(%ebp),%eax
45c6ba:	50                   	push   %eax
45c6bb:	ff 15 3c 08 4b 00    	call   *0x4b083c
45c6c1:	ff 75 10             	push   0x10(%ebp)
45c6c4:	8b 03                	mov    (%ebx),%eax
45c6c6:	8d 4d a0             	lea    -0x60(%ebp),%ecx
45c6c9:	51                   	push   %ecx
45c6ca:	8b cb                	mov    %ebx,%ecx
45c6cc:	ff 90 3c 01 00 00    	call   *0x13c(%eax)
45c6d2:	39 7d 0c             	cmp    %edi,0xc(%ebp)
45c6d5:	74 05                	je     0x45c6dc
45c6d7:	39 7d 10             	cmp    %edi,0x10(%ebp)
45c6da:	75 0e                	jne    0x45c6ea
45c6dc:	39 7d e8             	cmp    %edi,-0x18(%ebp)
45c6df:	74 09                	je     0x45c6ea
45c6e1:	8b 45 a0             	mov    -0x60(%ebp),%eax
45c6e4:	2b 45 a8             	sub    -0x58(%ebp),%eax
45c6e7:	01 45 e8             	add    %eax,-0x18(%ebp)
45c6ea:	39 7d 0c             	cmp    %edi,0xc(%ebp)
45c6ed:	74 05                	je     0x45c6f4
45c6ef:	39 7d 10             	cmp    %edi,0x10(%ebp)
45c6f2:	74 0e                	je     0x45c702
45c6f4:	39 7d ec             	cmp    %edi,-0x14(%ebp)
45c6f7:	74 09                	je     0x45c702
45c6f9:	8b 45 a4             	mov    -0x5c(%ebp),%eax
45c6fc:	2b 45 ac             	sub    -0x54(%ebp),%eax
45c6ff:	01 45 ec             	add    %eax,-0x14(%ebp)
45c702:	8b 45 08             	mov    0x8(%ebp),%eax
45c705:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45c708:	5f                   	pop    %edi
45c709:	89 08                	mov    %ecx,(%eax)
45c70b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45c70e:	5e                   	pop    %esi
45c70f:	89 48 04             	mov    %ecx,0x4(%eax)
45c712:	5b                   	pop    %ebx
45c713:	c9                   	leave
45c714:	c2 0c 00             	ret    $0xc
45c717:	53                   	push   %ebx
45c718:	56                   	push   %esi
45c719:	8b f1                	mov    %ecx,%esi
45c71b:	33 db                	xor    %ebx,%ebx
45c71d:	39 9e 9c 00 00 00    	cmp    %ebx,0x9c(%esi)
45c723:	7e 2e                	jle    0x45c753
45c725:	57                   	push   %edi
45c726:	53                   	push   %ebx
45c727:	8b ce                	mov    %esi,%ecx
45c729:	e8 81 f6 ff ff       	call   0x45bdaf
45c72e:	8b f8                	mov    %eax,%edi
45c730:	85 ff                	test   %edi,%edi
45c732:	74 15                	je     0x45c749
45c734:	8b cf                	mov    %edi,%ecx
45c736:	e8 27 41 00 00       	call   0x460862
45c73b:	6a 01                	push   $0x1
45c73d:	ff 74 24 14          	push   0x14(%esp)
45c741:	8b c8                	mov    %eax,%ecx
45c743:	57                   	push   %edi
45c744:	e8 51 4c 00 00       	call   0x46139a
45c749:	43                   	inc    %ebx
45c74a:	3b 9e 9c 00 00 00    	cmp    0x9c(%esi),%ebx
45c750:	7c d4                	jl     0x45c726
45c752:	5f                   	pop    %edi
45c753:	5e                   	pop    %esi
45c754:	5b                   	pop    %ebx
45c755:	c2 04 00             	ret    $0x4
45c758:	b8 39 44 48 00       	mov    $0x484439,%eax
45c75d:	e8 1a b5 fb ff       	call   0x417c7c
45c762:	51                   	push   %ecx
45c763:	56                   	push   %esi
45c764:	8b f1                	mov    %ecx,%esi
45c766:	89 75 f0             	mov    %esi,-0x10(%ebp)
45c769:	e8 5f 86 00 00       	call   0x464dcd
45c76e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45c772:	6a 01                	push   $0x1
45c774:	8d 8e e0 00 00 00    	lea    0xe0(%esi),%ecx
45c77a:	c7 06 14 13 49 00    	movl   $0x491314,(%esi)
45c780:	e8 75 f4 ff ff       	call   0x45bbfa
45c785:	83 a6 34 01 00 00 00 	andl   $0x0,0x134(%esi)
45c78c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45c78f:	8b c6                	mov    %esi,%eax
45c791:	5e                   	pop    %esi
45c792:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45c799:	c9                   	leave
45c79a:	c3                   	ret
45c79b:	6a 00                	push   $0x0
45c79d:	81 c1 e0 00 00 00    	add    $0xe0,%ecx
45c7a3:	e8 6f ff ff ff       	call   0x45c717
45c7a8:	c3                   	ret
45c7a9:	56                   	push   %esi
45c7aa:	8b f1                	mov    %ecx,%esi
45c7ac:	e8 64 f8 ff ff       	call   0x45c015
45c7b1:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
45c7b6:	74 07                	je     0x45c7bf
45c7b8:	56                   	push   %esi
45c7b9:	e8 c2 38 fe ff       	call   0x440080
45c7be:	59                   	pop    %ecx
45c7bf:	8b c6                	mov    %esi,%eax
45c7c1:	5e                   	pop    %esi
45c7c2:	c2 04 00             	ret    $0x4
45c7c5:	55                   	push   %ebp
45c7c6:	8d ac 24 50 ff ff ff 	lea    -0xb0(%esp),%ebp
45c7cd:	81 ec 30 01 00 00    	sub    $0x130,%esp
45c7d3:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
45c7d8:	53                   	push   %ebx
45c7d9:	56                   	push   %esi
45c7da:	8b b5 b8 00 00 00    	mov    0xb8(%ebp),%esi
45c7e0:	89 85 ac 00 00 00    	mov    %eax,0xac(%ebp)
45c7e6:	57                   	push   %edi
45c7e7:	8d 45 80             	lea    -0x80(%ebp),%eax
45c7ea:	50                   	push   %eax
45c7eb:	ff 76 1c             	push   0x1c(%esi)
45c7ee:	8b d9                	mov    %ecx,%ebx
45c7f0:	ff 15 40 07 4b 00    	call   *0x4b0740
45c7f6:	33 ff                	xor    %edi,%edi
45c7f8:	39 9e 88 00 00 00    	cmp    %ebx,0x88(%esi)
45c7fe:	75 24                	jne    0x45c824
45c800:	39 bd bc 00 00 00    	cmp    %edi,0xbc(%ebp)
45c806:	0f 84 0d 02 00 00    	je     0x45ca19
45c80c:	ff b5 bc 00 00 00    	push   0xbc(%ebp)
45c812:	8d 45 80             	lea    -0x80(%ebp),%eax
45c815:	50                   	push   %eax
45c816:	ff 15 0c 07 4b 00    	call   *0x4b070c
45c81c:	85 c0                	test   %eax,%eax
45c81e:	0f 85 f5 01 00 00    	jne    0x45ca19
45c824:	39 bb 90 00 00 00    	cmp    %edi,0x90(%ebx)
45c82a:	74 0d                	je     0x45c839
45c82c:	f6 86 80 00 00 00 40 	testb  $0x40,0x80(%esi)
45c833:	74 04                	je     0x45c839
45c835:	83 4b 7c 40          	orl    $0x40,0x7c(%ebx)
45c839:	83 63 7c f9          	andl   $0xfffffff9,0x7c(%ebx)
45c83d:	8b 46 7c             	mov    0x7c(%esi),%eax
45c840:	8b 4b 7c             	mov    0x7c(%ebx),%ecx
45c843:	83 e0 06             	and    $0x6,%eax
45c846:	0b c1                	or     %ecx,%eax
45c848:	a8 40                	test   $0x40,%al
45c84a:	89 43 7c             	mov    %eax,0x7c(%ebx)
45c84d:	75 1c                	jne    0x45c86b
45c84f:	68 04 01 00 00       	push   $0x104
45c854:	8d 45 a8             	lea    -0x58(%ebp),%eax
45c857:	50                   	push   %eax
45c858:	8b ce                	mov    %esi,%ecx
45c85a:	e8 6b 4b fe ff       	call   0x4413ca
45c85f:	8d 45 a8             	lea    -0x58(%ebp),%eax
45c862:	50                   	push   %eax
45c863:	ff 73 1c             	push   0x1c(%ebx)
45c866:	e8 c8 49 ff ff       	call   0x451233
45c86b:	8b 46 7c             	mov    0x7c(%esi),%eax
45c86e:	33 43 7c             	xor    0x7c(%ebx),%eax
45c871:	25 00 f0 00 00       	and    $0xf000,%eax
45c876:	33 46 7c             	xor    0x7c(%esi),%eax
45c879:	0d 00 0f 00 00       	or     $0xf00,%eax
45c87e:	39 bb 90 00 00 00    	cmp    %edi,0x90(%ebx)
45c884:	74 05                	je     0x45c88b
45c886:	83 c8 01             	or     $0x1,%eax
45c889:	eb 03                	jmp    0x45c88e
45c88b:	83 e0 fe             	and    $0xfffffffe,%eax
45c88e:	50                   	push   %eax
45c88f:	8b ce                	mov    %esi,%ecx
45c891:	e8 bd 3e 01 00       	call   0x470753
45c896:	39 9e 88 00 00 00    	cmp    %ebx,0x88(%esi)
45c89c:	89 7d 94             	mov    %edi,-0x6c(%ebp)
45c89f:	74 25                	je     0x45c8c6
45c8a1:	ff 76 1c             	push   0x1c(%esi)
45c8a4:	ff 15 a0 07 4b 00    	call   *0x4b07a0
45c8aa:	85 c0                	test   %eax,%eax
45c8ac:	74 18                	je     0x45c8c6
45c8ae:	68 97 00 00 00       	push   $0x97
45c8b3:	57                   	push   %edi
45c8b4:	57                   	push   %edi
45c8b5:	57                   	push   %edi
45c8b6:	57                   	push   %edi
45c8b7:	57                   	push   %edi
45c8b8:	8b ce                	mov    %esi,%ecx
45c8ba:	e8 aa 46 fe ff       	call   0x440f69
45c8bf:	c7 45 94 01 00 00 00 	movl   $0x1,-0x6c(%ebp)
45c8c6:	83 4d 90 ff          	orl    $0xffffffff,-0x70(%ebp)
45c8ca:	39 bd bc 00 00 00    	cmp    %edi,0xbc(%ebp)
45c8d0:	0f 84 87 00 00 00    	je     0x45c95d
45c8d6:	ff b5 bc 00 00 00    	push   0xbc(%ebp)
45c8dc:	8d 45 98             	lea    -0x68(%ebp),%eax
45c8df:	50                   	push   %eax
45c8e0:	ff 15 44 07 4b 00    	call   *0x4b0744
45c8e6:	8d 45 98             	lea    -0x68(%ebp),%eax
45c8e9:	50                   	push   %eax
45c8ea:	8b cb                	mov    %ebx,%ecx
45c8ec:	e8 2d 27 ff ff       	call   0x44f01e
45c8f1:	8b 45 a0             	mov    -0x60(%ebp),%eax
45c8f4:	2b 45 98             	sub    -0x68(%ebp),%eax
45c8f7:	8d 75 98             	lea    -0x68(%ebp),%esi