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
45080e:	89 4e 2c             	mov    %ecx,0x2c(%esi)
450811:	eb 17                	jmp    0x45082a
450813:	8b 4e 24             	mov    0x24(%esi),%ecx
450816:	8b 11                	mov    (%ecx),%edx
450818:	8d 46 2c             	lea    0x2c(%esi),%eax
45081b:	50                   	push   %eax
45081c:	8d 7e 30             	lea    0x30(%esi),%edi
45081f:	57                   	push   %edi
450820:	ff 76 20             	push   0x20(%esi)
450823:	6a 00                	push   $0x0
450825:	ff 52 50             	call   *0x50(%edx)
450828:	8b 07                	mov    (%edi),%eax
45082a:	8b 7e 2c             	mov    0x2c(%esi),%edi
45082d:	2b f8                	sub    %eax,%edi
45082f:	3b df                	cmp    %edi,%ebx
450831:	89 46 28             	mov    %eax,0x28(%esi)
450834:	73 02                	jae    0x450838
450836:	8b fb                	mov    %ebx,%edi
450838:	57                   	push   %edi
450839:	50                   	push   %eax
45083a:	ff 75 08             	push   0x8(%ebp)
45083d:	e8 2e 70 fc ff       	call   0x417870
450842:	01 7e 28             	add    %edi,0x28(%esi)
450845:	83 c4 0c             	add    $0xc,%esp
450848:	2b df                	sub    %edi,%ebx
45084a:	8b 45 0c             	mov    0xc(%ebp),%eax
45084d:	2b c3                	sub    %ebx,%eax
45084f:	5f                   	pop    %edi
450850:	5e                   	pop    %esi
450851:	5b                   	pop    %ebx
450852:	c9                   	leave
450853:	c2 08 00             	ret    $0x8
450856:	56                   	push   %esi
450857:	8b f1                	mov    %ecx,%esi
450859:	f6 46 18 01          	testb  $0x1,0x18(%esi)
45085d:	8b 46 28             	mov    0x28(%esi),%eax
450860:	57                   	push   %edi
450861:	74 1b                	je     0x45087e
450863:	8b 56 2c             	mov    0x2c(%esi),%edx
450866:	3b d0                	cmp    %eax,%edx
450868:	74 0f                	je     0x450879
45086a:	8b 4e 24             	mov    0x24(%esi),%ecx
45086d:	8b 39                	mov    (%ecx),%edi
45086f:	2b c2                	sub    %edx,%eax
450871:	99                   	cltd
450872:	6a 01                	push   $0x1
450874:	52                   	push   %edx
450875:	50                   	push   %eax
450876:	ff 57 28             	call   *0x28(%edi)
450879:	8b 46 2c             	mov    0x2c(%esi),%eax
45087c:	eb 49                	jmp    0x4508c7
45087e:	53                   	push   %ebx
45087f:	33 db                	xor    %ebx,%ebx
450881:	39 5e 08             	cmp    %ebx,0x8(%esi)
450884:	8d 7e 30             	lea    0x30(%esi),%edi
450887:	8b 17                	mov    (%edi),%edx
450889:	75 12                	jne    0x45089d
45088b:	3b c2                	cmp    %edx,%eax
45088d:	74 35                	je     0x4508c4
45088f:	8b 4e 24             	mov    0x24(%esi),%ecx
450892:	8b 19                	mov    (%ecx),%ebx
450894:	2b c2                	sub    %edx,%eax
450896:	50                   	push   %eax
450897:	52                   	push   %edx
450898:	ff 53 38             	call   *0x38(%ebx)
45089b:	eb 27                	jmp    0x4508c4
45089d:	3b c2                	cmp    %edx,%eax
45089f:	74 11                	je     0x4508b2
4508a1:	8b 4e 24             	mov    0x24(%esi),%ecx
4508a4:	55                   	push   %ebp
4508a5:	8b 29                	mov    (%ecx),%ebp
4508a7:	53                   	push   %ebx
4508a8:	53                   	push   %ebx
4508a9:	2b c2                	sub    %edx,%eax
4508ab:	50                   	push   %eax
4508ac:	6a 02                	push   $0x2
4508ae:	ff 55 50             	call   *0x50(%ebp)
4508b1:	5d                   	pop    %ebp
4508b2:	8b 4e 24             	mov    0x24(%esi),%ecx
4508b5:	8b 01                	mov    (%ecx),%eax
4508b7:	8d 56 2c             	lea    0x2c(%esi),%edx
4508ba:	52                   	push   %edx
4508bb:	57                   	push   %edi
4508bc:	ff 76 20             	push   0x20(%esi)
4508bf:	6a 01                	push   $0x1
4508c1:	ff 50 50             	call   *0x50(%eax)
4508c4:	8b 07                	mov    (%edi),%eax
4508c6:	5b                   	pop    %ebx
4508c7:	5f                   	pop    %edi
4508c8:	89 46 28             	mov    %eax,0x28(%esi)
4508cb:	5e                   	pop    %esi
4508cc:	c3                   	ret
4508cd:	55                   	push   %ebp
4508ce:	8b ec                	mov    %esp,%ebp
4508d0:	51                   	push   %ecx
4508d1:	51                   	push   %ecx
4508d2:	53                   	push   %ebx
4508d3:	56                   	push   %esi
4508d4:	8b f1                	mov    %ecx,%esi
4508d6:	f6 46 18 01          	testb  $0x1,0x18(%esi)
4508da:	57                   	push   %edi
4508db:	75 0a                	jne    0x4508e7
4508dd:	ff 76 14             	push   0x14(%esi)
4508e0:	6a 04                	push   $0x4
4508e2:	e9 c5 00 00 00       	jmp    0x4509ac
4508e7:	8b 4e 28             	mov    0x28(%esi),%ecx
4508ea:	8b 45 08             	mov    0x8(%ebp),%eax
4508ed:	8d 5e 2c             	lea    0x2c(%esi),%ebx
4508f0:	8b 3b                	mov    (%ebx),%edi
4508f2:	2b f9                	sub    %ecx,%edi
4508f4:	03 c7                	add    %edi,%eax
4508f6:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
4508fa:	89 45 f8             	mov    %eax,-0x8(%ebp)
4508fd:	75 69                	jne    0x450968
4508ff:	8b 46 30             	mov    0x30(%esi),%eax
450902:	3b c8                	cmp    %eax,%ecx
450904:	0f 86 90 00 00 00    	jbe    0x45099a
45090a:	85 ff                	test   %edi,%edi
45090c:	7e 16                	jle    0x450924
45090e:	57                   	push   %edi
45090f:	51                   	push   %ecx
450910:	50                   	push   %eax
450911:	e8 0a 67 fc ff       	call   0x417020
450916:	8b 46 30             	mov    0x30(%esi),%eax
450919:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
45091c:	83 c4 0c             	add    $0xc,%esp
45091f:	89 46 28             	mov    %eax,0x28(%esi)
450922:	89 0b                	mov    %ecx,(%ebx)
450924:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
450928:	8b 5d 08             	mov    0x8(%ebp),%ebx
45092b:	89 7d fc             	mov    %edi,-0x4(%ebp)
45092e:	75 03                	jne    0x450933
450930:	8b 5e 20             	mov    0x20(%esi),%ebx
450933:	2b df                	sub    %edi,%ebx
450935:	03 f8                	add    %eax,%edi
450937:	8b 4e 24             	mov    0x24(%esi),%ecx
45093a:	8b 01                	mov    (%ecx),%eax
45093c:	53                   	push   %ebx
45093d:	57                   	push   %edi
45093e:	ff 50 34             	call   *0x34(%eax)
450941:	01 45 fc             	add    %eax,-0x4(%ebp)
450944:	03 f8                	add    %eax,%edi
450946:	2b d8                	sub    %eax,%ebx
450948:	85 c0                	test   %eax,%eax
45094a:	76 0c                	jbe    0x450958
45094c:	85 db                	test   %ebx,%ebx
45094e:	76 08                	jbe    0x450958
450950:	8b 45 fc             	mov    -0x4(%ebp),%eax
450953:	3b 45 08             	cmp    0x8(%ebp),%eax
450956:	72 df                	jb     0x450937
450958:	8b 46 30             	mov    0x30(%esi),%eax
45095b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45095e:	89 46 28             	mov    %eax,0x28(%esi)
450961:	03 c1                	add    %ecx,%eax
450963:	89 46 2c             	mov    %eax,0x2c(%esi)
450966:	eb 32                	jmp    0x45099a
450968:	85 ff                	test   %edi,%edi
45096a:	74 17                	je     0x450983
45096c:	8b 4e 24             	mov    0x24(%esi),%ecx
45096f:	8b 01                	mov    (%ecx),%eax
450971:	89 45 08             	mov    %eax,0x8(%ebp)
450974:	8b c7                	mov    %edi,%eax
450976:	f7 d8                	neg    %eax
450978:	99                   	cltd
450979:	6a 01                	push   $0x1
45097b:	52                   	push   %edx
45097c:	50                   	push   %eax
45097d:	8b 45 08             	mov    0x8(%ebp),%eax
450980:	ff 50 28             	call   *0x28(%eax)
450983:	8b 4e 24             	mov    0x24(%esi),%ecx
450986:	8b 01                	mov    (%ecx),%eax
450988:	53                   	push   %ebx
450989:	8d 7e 30             	lea    0x30(%esi),%edi
45098c:	57                   	push   %edi
45098d:	ff 76 20             	push   0x20(%esi)