489546:	8b e5                	mov    %ebp,%esp
489548:	5d                   	pop    %ebp
489549:	c2 0c 00             	ret    $0xc
48954c:	55                   	push   %ebp
48954d:	8b ec                	mov    %esp,%ebp
48954f:	83 c4 dc             	add    $0xffffffdc,%esp
489552:	53                   	push   %ebx
489553:	56                   	push   %esi
489554:	8b d9                	mov    %ecx,%ebx
489556:	89 55 f8             	mov    %edx,-0x8(%ebp)
489559:	89 45 fc             	mov    %eax,-0x4(%ebp)
48955c:	8b 45 f8             	mov    -0x8(%ebp),%eax
48955f:	8b 40 08             	mov    0x8(%eax),%eax
489562:	8b 55 f8             	mov    -0x8(%ebp),%edx
489565:	2b 02                	sub    (%edx),%eax
489567:	89 45 f4             	mov    %eax,-0xc(%ebp)
48956a:	8b 45 f8             	mov    -0x8(%ebp),%eax
48956d:	8b 40 0c             	mov    0xc(%eax),%eax
489570:	8b 55 f8             	mov    -0x8(%ebp),%edx
489573:	2b 42 04             	sub    0x4(%edx),%eax
489576:	89 45 f0             	mov    %eax,-0x10(%ebp)
489579:	8b 43 34             	mov    0x34(%ebx),%eax
48957c:	3b 45 f4             	cmp    -0xc(%ebp),%eax
48957f:	7d 03                	jge    0x489584
489581:	89 45 f4             	mov    %eax,-0xc(%ebp)
489584:	8b 43 30             	mov    0x30(%ebx),%eax
489587:	3b 45 f0             	cmp    -0x10(%ebp),%eax
48958a:	7d 03                	jge    0x48958f
48958c:	89 45 f0             	mov    %eax,-0x10(%ebp)
48958f:	8b 55 f4             	mov    -0xc(%ebp),%edx
489592:	a1 70 8d 6a 00       	mov    0x6a8d70,%eax
489597:	8b 08                	mov    (%eax),%ecx
489599:	ff 51 40             	call   *0x40(%ecx)
48959c:	8b 55 f0             	mov    -0x10(%ebp),%edx
48959f:	a1 70 8d 6a 00       	mov    0x6a8d70,%eax
4895a4:	8b 08                	mov    (%eax),%ecx
4895a6:	ff 51 34             	call   *0x34(%ecx)
4895a9:	8b 55 f4             	mov    -0xc(%ebp),%edx
4895ac:	a1 74 8d 6a 00       	mov    0x6a8d74,%eax
4895b1:	8b 08                	mov    (%eax),%ecx
4895b3:	ff 51 40             	call   *0x40(%ecx)
4895b6:	8b 55 f0             	mov    -0x10(%ebp),%edx
4895b9:	a1 74 8d 6a 00       	mov    0x6a8d74,%eax
4895be:	8b 08                	mov    (%eax),%ecx
4895c0:	ff 51 34             	call   *0x34(%ecx)
4895c3:	68 20 00 cc 00       	push   $0xcc0020
4895c8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4895cb:	8b 40 04             	mov    0x4(%eax),%eax
4895ce:	50                   	push   %eax
4895cf:	8b 45 f8             	mov    -0x8(%ebp),%eax
4895d2:	8b 00                	mov    (%eax),%eax
4895d4:	50                   	push   %eax
4895d5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4895d8:	e8 e3 f6 f9 ff       	call   0x428cc0
4895dd:	50                   	push   %eax
4895de:	8b 45 f0             	mov    -0x10(%ebp),%eax
4895e1:	50                   	push   %eax
4895e2:	8b 45 f4             	mov    -0xc(%ebp),%eax
4895e5:	50                   	push   %eax
4895e6:	6a 00                	push   $0x0
4895e8:	6a 00                	push   $0x0
4895ea:	a1 70 8d 6a 00       	mov    0x6a8d70,%eax
4895ef:	e8 a4 41 fa ff       	call   0x42d798
4895f4:	e8 c7 f6 f9 ff       	call   0x428cc0
4895f9:	50                   	push   %eax
4895fa:	e8 39 de f7 ff       	call   0x407438
4895ff:	68 20 00 cc 00       	push   $0xcc0020
489604:	6a 00                	push   $0x0
489606:	6a 00                	push   $0x0
489608:	a1 70 8d 6a 00       	mov    0x6a8d70,%eax
48960d:	e8 86 41 fa ff       	call   0x42d798
489612:	e8 a9 f6 f9 ff       	call   0x428cc0
489617:	50                   	push   %eax
489618:	8b 45 f0             	mov    -0x10(%ebp),%eax
48961b:	50                   	push   %eax
48961c:	8b 45 f4             	mov    -0xc(%ebp),%eax
48961f:	50                   	push   %eax
489620:	6a 00                	push   $0x0
489622:	6a 00                	push   $0x0
489624:	a1 74 8d 6a 00       	mov    0x6a8d74,%eax
489629:	e8 6a 41 fa ff       	call   0x42d798
48962e:	e8 8d f6 f9 ff       	call   0x428cc0
489633:	50                   	push   %eax
489634:	e8 ff dd f7 ff       	call   0x407438
489639:	6a 00                	push   $0x0
48963b:	8b 45 0c             	mov    0xc(%ebp),%eax
48963e:	50                   	push   %eax
48963f:	6a 01                	push   $0x1
489641:	a1 74 8d 6a 00       	mov    0x6a8d74,%eax
489646:	e8 4d 41 fa ff       	call   0x42d798
48964b:	8b d0                	mov    %eax,%edx
48964d:	33 c9                	xor    %ecx,%ecx
48964f:	8b c3                	mov    %ebx,%eax
489651:	e8 9e ce fc ff       	call   0x4564f4
489656:	8b 45 f0             	mov    -0x10(%ebp),%eax
489659:	48                   	dec    %eax
48965a:	85 c0                	test   %eax,%eax
48965c:	0f 8c da 00 00 00    	jl     0x48973c
489662:	40                   	inc    %eax
489663:	89 45 dc             	mov    %eax,-0x24(%ebp)
489666:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
48966d:	8b 55 ec             	mov    -0x14(%ebp),%edx
489670:	a1 74 8d 6a 00       	mov    0x6a8d74,%eax
489675:	e8 8e 42 fa ff       	call   0x42d908
48967a:	89 45 e8             	mov    %eax,-0x18(%ebp)
48967d:	8b 55 ec             	mov    -0x14(%ebp),%edx
489680:	a1 70 8d 6a 00       	mov    0x6a8d70,%eax
489685:	e8 7e 42 fa ff       	call   0x42d908
48968a:	8b c8                	mov    %eax,%ecx
48968c:	8b 75 f4             	mov    -0xc(%ebp),%esi
48968f:	4e                   	dec    %esi
489690:	85 f6                	test   %esi,%esi
489692:	0f 8c 98 00 00 00    	jl     0x489730
489698:	46                   	inc    %esi
489699:	8b 45 e8             	mov    -0x18(%ebp),%eax
48969c:	8b 00                	mov    (%eax),%eax
48969e:	8b 11                	mov    (%ecx),%edx
4896a0:	3b c2                	cmp    %edx,%eax
4896a2:	74 7e                	je     0x489722
4896a4:	8b da                	mov    %edx,%ebx
4896a6:	81 e3 ff 00 ff 00    	and    $0xff00ff,%ebx
4896ac:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4896af:	81 e2 00 ff 00 00    	and    $0xff00,%edx
4896b5:	89 55 e0             	mov    %edx,-0x20(%ebp)
4896b8:	8b d0                	mov    %eax,%edx
4896ba:	81 e2 00 00 ff 00    	and    $0xff0000,%edx
4896c0:	c1 ea 10             	shr    $0x10,%edx
4896c3:	6b da 1d             	imul   $0x1d,%edx,%ebx
4896c6:	8b d0                	mov    %eax,%edx
4896c8:	81 e2 00 ff 00 00    	and    $0xff00,%edx
4896ce:	c1 ea 08             	shr    $0x8,%edx
4896d1:	69 d2 96 00 00 00    	imul   $0x96,%edx,%edx
4896d7:	03 da                	add    %edx,%ebx
4896d9:	25 ff 00 00 00       	and    $0xff,%eax
4896de:	6b c0 4c             	imul   $0x4c,%eax,%eax
4896e1:	03 d8                	add    %eax,%ebx
4896e3:	c1 eb 08             	shr    $0x8,%ebx
4896e6:	8b 45 08             	mov    0x8(%ebp),%eax
4896e9:	ff 34 85 a4 b0 68 00 	push   0x68b0a4(,%eax,4)
4896f0:	8b c3                	mov    %ebx,%eax
4896f2:	5a                   	pop    %edx
4896f3:	8b da                	mov    %edx,%ebx
4896f5:	33 d2                	xor    %edx,%edx
4896f7:	f7 f3                	div    %ebx
4896f9:	8b 55 08             	mov    0x8(%ebp),%edx
4896fc:	03 04 95 b0 b0 68 00 	add    0x68b0b0(,%edx,4),%eax
489703:	8b d8                	mov    %eax,%ebx
489705:	8b 45 e4             	mov    -0x1c(%ebp),%eax
489708:	f7 eb                	imul   %ebx
48970a:	25 00 ff 00 ff       	and    $0xff00ff00,%eax
48970f:	8b 55 e0             	mov    -0x20(%ebp),%edx
489712:	0f af d3             	imul   %ebx,%edx
489715:	81 e2 00 00 ff 00    	and    $0xff0000,%edx
48971b:	0b c2                	or     %edx,%eax
48971d:	c1 e8 08             	shr    $0x8,%eax
489720:	89 01                	mov    %eax,(%ecx)
489722:	83 45 e8 04          	addl   $0x4,-0x18(%ebp)
489726:	83 c1 04             	add    $0x4,%ecx
489729:	4e                   	dec    %esi
48972a:	0f 85 69 ff ff ff    	jne    0x489699
489730:	ff 45 ec             	incl   -0x14(%ebp)
489733:	ff 4d dc             	decl   -0x24(%ebp)
489736:	0f 85 31 ff ff ff    	jne    0x48966d
48973c:	68 20 00 cc 00       	push   $0xcc0020
489741:	6a 00                	push   $0x0
489743:	6a 00                	push   $0x0
489745:	a1 70 8d 6a 00       	mov    0x6a8d70,%eax
48974a:	e8 49 40 fa ff       	call   0x42d798
48974f:	e8 6c f5 f9 ff       	call   0x428cc0
489754:	50                   	push   %eax
489755:	8b 45 f0             	mov    -0x10(%ebp),%eax
489758:	50                   	push   %eax
489759:	8b 45 f4             	mov    -0xc(%ebp),%eax
48975c:	50                   	push   %eax
48975d:	8b 45 f8             	mov    -0x8(%ebp),%eax
489760:	8b 40 04             	mov    0x4(%eax),%eax
489763:	50                   	push   %eax
489764:	8b 45 f8             	mov    -0x8(%ebp),%eax
489767:	8b 00                	mov    (%eax),%eax
489769:	50                   	push   %eax
48976a:	8b 45 fc             	mov    -0x4(%ebp),%eax
48976d:	e8 4e f5 f9 ff       	call   0x428cc0
489772:	50                   	push   %eax
489773:	e8 c0 dc f7 ff       	call   0x407438
489778:	5e                   	pop    %esi
489779:	5b                   	pop    %ebx
48977a:	8b e5                	mov    %ebp,%esp
48977c:	5d                   	pop    %ebp
48977d:	c2 08 00             	ret    $0x8
489780:	55                   	push   %ebp
489781:	8b ec                	mov    %esp,%ebp
489783:	83 c4 dc             	add    $0xffffffdc,%esp
489786:	53                   	push   %ebx
489787:	56                   	push   %esi
489788:	57                   	push   %edi
489789:	8b d9                	mov    %ecx,%ebx
48978b:	89 55 f8             	mov    %edx,-0x8(%ebp)
48978e:	89 45 fc             	mov    %eax,-0x4(%ebp)
489791:	8b 45 f8             	mov    -0x8(%ebp),%eax
489794:	8b 40 08             	mov    0x8(%eax),%eax
489797:	8b 55 f8             	mov    -0x8(%ebp),%edx
48979a:	2b 02                	sub    (%edx),%eax
48979c:	89 45 f4             	mov    %eax,-0xc(%ebp)
48979f:	8b 45 f8             	mov    -0x8(%ebp),%eax
4897a2:	8b 40 0c             	mov    0xc(%eax),%eax
4897a5:	8b 55 f8             	mov    -0x8(%ebp),%edx
4897a8:	2b 42 04             	sub    0x4(%edx),%eax
4897ab:	89 45 f0             	mov    %eax,-0x10(%ebp)
4897ae:	8b 43 34             	mov    0x34(%ebx),%eax
4897b1:	3b 45 f4             	cmp    -0xc(%ebp),%eax
4897b4:	7d 03                	jge    0x4897b9
4897b6:	89 45 f4             	mov    %eax,-0xc(%ebp)
4897b9:	8b 43 30             	mov    0x30(%ebx),%eax
4897bc:	3b 45 f0             	cmp    -0x10(%ebp),%eax
4897bf:	7d 03                	jge    0x4897c4
4897c1:	89 45 f0             	mov    %eax,-0x10(%ebp)
4897c4:	8b 55 f4             	mov    -0xc(%ebp),%edx
4897c7:	a1 74 8d 6a 00       	mov    0x6a8d74,%eax
4897cc:	8b 08                	mov    (%eax),%ecx
4897ce:	ff 51 40             	call   *0x40(%ecx)
4897d1:	8b 55 f0             	mov    -0x10(%ebp),%edx
4897d4:	a1 74 8d 6a 00       	mov    0x6a8d74,%eax
4897d9:	8b 08                	mov    (%eax),%ecx
4897db:	ff 51 34             	call   *0x34(%ecx)
4897de:	a1 74 8d 6a 00       	mov    0x6a8d74,%eax
4897e3:	e8 b0 3f fa ff       	call   0x42d798
4897e8:	8b 40 14             	mov    0x14(%eax),%eax
4897eb:	ba ff ff ff 00       	mov    $0xffffff,%edx
4897f0:	e8 8f ea f9 ff       	call   0x428284
4897f5:	8b 45 f0             	mov    -0x10(%ebp),%eax
4897f8:	50                   	push   %eax
4897f9:	8d 45 dc             	lea    -0x24(%ebp),%eax
4897fc:	50                   	push   %eax
4897fd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
489800:	33 d2                	xor    %edx,%edx
489802:	33 c0                	xor    %eax,%eax
489804:	e8 6b 0e f9 ff       	call   0x41a674
489809:	8d 45 dc             	lea    -0x24(%ebp),%eax
48980c:	50                   	push   %eax
48980d:	a1 74 8d 6a 00       	mov    0x6a8d74,%eax
489812:	e8 81 3f fa ff       	call   0x42d798
489817:	5a                   	pop    %edx
489818:	e8 df ee f9 ff       	call   0x4286fc
48981d:	6a 00                	push   $0x0
48981f:	8b 45 0c             	mov    0xc(%ebp),%eax
489822:	50                   	push   %eax
489823:	6a 01                	push   $0x1
489825:	a1 74 8d 6a 00       	mov    0x6a8d74,%eax
48982a:	e8 69 3f fa ff       	call   0x42d798
48982f:	8b d0                	mov    %eax,%edx
489831:	33 c9                	xor    %ecx,%ecx
489833:	8b c3                	mov    %ebx,%eax
489835:	e8 ba cc fc ff       	call   0x4564f4
48983a:	8b 75 f0             	mov    -0x10(%ebp),%esi
48983d:	4e                   	dec    %esi
48983e:	85 f6                	test   %esi,%esi
489840:	7c 77                	jl     0x4898b9
489842:	46                   	inc    %esi
489843:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
48984a:	8b 55 ec             	mov    -0x14(%ebp),%edx
48984d:	a1 74 8d 6a 00       	mov    0x6a8d74,%eax
489852:	e8 b1 40 fa ff       	call   0x42d908
489857:	8b d0                	mov    %eax,%edx
489859:	8b 4d f4             	mov    -0xc(%ebp),%ecx
48985c:	49                   	dec    %ecx
48985d:	85 c9                	test   %ecx,%ecx
48985f:	7c 52                	jl     0x4898b3
489861:	41                   	inc    %ecx
489862:	8b 02                	mov    (%edx),%eax
489864:	25 ff ff ff 00       	and    $0xffffff,%eax
489869:	85 c0                	test   %eax,%eax
48986b:	74 40                	je     0x4898ad
48986d:	8b d8                	mov    %eax,%ebx
48986f:	81 e3 00 00 ff 00    	and    $0xff0000,%ebx
489875:	c1 eb 10             	shr    $0x10,%ebx
489878:	6b db 4c             	imul   $0x4c,%ebx,%ebx
48987b:	8b f8                	mov    %eax,%edi
48987d:	81 e7 00 ff 00 00    	and    $0xff00,%edi
489883:	c1 ef 08             	shr    $0x8,%edi
489886:	69 ff 96 00 00 00    	imul   $0x96,%edi,%edi
48988c:	03 df                	add    %edi,%ebx
48988e:	25 ff 00 00 00       	and    $0xff,%eax
489893:	6b c0 1d             	imul   $0x1d,%eax,%eax
489896:	03 d8                	add    %eax,%ebx
489898:	8b c3                	mov    %ebx,%eax
48989a:	3d 00 b4 00 00       	cmp    $0xb400,%eax
48989f:	76 08                	jbe    0x4898a9
4898a1:	c7 02 ff ff ff 00    	movl   $0xffffff,(%edx)
4898a7:	eb 04                	jmp    0x4898ad
4898a9:	33 c0                	xor    %eax,%eax
4898ab:	89 02                	mov    %eax,(%edx)
4898ad:	83 c2 04             	add    $0x4,%edx
4898b0:	49                   	dec    %ecx
4898b1:	75 af                	jne    0x489862
4898b3:	ff 45 ec             	incl   -0x14(%ebp)
4898b6:	4e                   	dec    %esi
4898b7:	75 91                	jne    0x48984a
4898b9:	8b 55 f4             	mov    -0xc(%ebp),%edx
4898bc:	a1 78 8d 6a 00       	mov    0x6a8d78,%eax
4898c1:	8b 08                	mov    (%eax),%ecx
4898c3:	ff 51 40             	call   *0x40(%ecx)
4898c6:	8b 55 f0             	mov    -0x10(%ebp),%edx
4898c9:	a1 78 8d 6a 00       	mov    0x6a8d78,%eax
4898ce:	8b 08                	mov    (%eax),%ecx
4898d0:	ff 51 34             	call   *0x34(%ecx)
4898d3:	a1 78 8d 6a 00       	mov    0x6a8d78,%eax
4898d8:	e8 bb 3e fa ff       	call   0x42d798
4898dd:	8b 40 14             	mov    0x14(%eax),%eax
4898e0:	33 d2                	xor    %edx,%edx
4898e2:	e8 9d e9 f9 ff       	call   0x428284
4898e7:	68 20 00 cc 00       	push   $0xcc0020
4898ec:	6a 00                	push   $0x0
4898ee:	6a 00                	push   $0x0
4898f0:	a1 74 8d 6a 00       	mov    0x6a8d74,%eax
4898f5:	e8 9e 3e fa ff       	call   0x42d798
4898fa:	e8 c1 f3 f9 ff       	call   0x428cc0
4898ff:	50                   	push   %eax
489900:	8b 45 f0             	mov    -0x10(%ebp),%eax
489903:	50                   	push   %eax
489904:	8b 45 f4             	mov    -0xc(%ebp),%eax
489907:	50                   	push   %eax
489908:	6a 00                	push   $0x0
48990a:	6a 00                	push   $0x0
48990c:	a1 78 8d 6a 00       	mov    0x6a8d78,%eax
489911:	e8 82 3e fa ff       	call   0x42d798
489916:	e8 a5 f3 f9 ff       	call   0x428cc0
48991b:	50                   	push   %eax
48991c:	e8 17 db f7 ff       	call   0x407438
489921:	a1 78 8d 6a 00       	mov    0x6a8d78,%eax
489926:	e8 6d 3e fa ff       	call   0x42d798
48992b:	e8 90 f3 f9 ff       	call   0x428cc0
489930:	8b d8                	mov    %eax,%ebx
489932:	8b 45 08             	mov    0x8(%ebp),%eax
489935:	e8 9e dc f9 ff       	call   0x4275d8
48993a:	8b d0                	mov    %eax,%edx
48993c:	8b 45 fc             	mov    -0x4(%ebp),%eax
48993f:	8b 40 14             	mov    0x14(%eax),%eax
489942:	e8 3d e9 f9 ff       	call   0x428284
489947:	8b 45 fc             	mov    -0x4(%ebp),%eax
48994a:	e8 71 f3 f9 ff       	call   0x428cc0
48994f:	8b f0                	mov    %eax,%esi
489951:	68 ff ff ff 00       	push   $0xffffff
489956:	56                   	push   %esi
489957:	e8 24 de f7 ff       	call   0x407780
48995c:	6a 00                	push   $0x0
48995e:	56                   	push   %esi
48995f:	e8 b4 dd f7 ff       	call   0x407718
489964:	68 46 07 e2 00       	push   $0xe20746
489969:	6a 00                	push   $0x0
48996b:	6a 00                	push   $0x0