47c4c1:	ff 75 14             	push   0x14(%ebp)
47c4c4:	e8 c6 fc ff ff       	call   0x47c18f
47c4c9:	59                   	pop    %ecx
47c4ca:	59                   	pop    %ecx
47c4cb:	6a 03                	push   $0x3
47c4cd:	58                   	pop    %eax
47c4ce:	5f                   	pop    %edi
47c4cf:	5e                   	pop    %esi
47c4d0:	5b                   	pop    %ebx
47c4d1:	c9                   	leave
47c4d2:	c3                   	ret
47c4d3:	7e 10                	jle    0x47c4e5
47c4d5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47c4d8:	8b d6                	mov    %esi,%edx
47c4da:	8b c7                	mov    %edi,%eax
47c4dc:	e8 6f 95 01 00       	call   0x495a50
47c4e1:	8b f2                	mov    %edx,%esi
47c4e3:	8b f8                	mov    %eax,%edi
47c4e5:	8b 5d f8             	mov    -0x8(%ebp),%ebx
47c4e8:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
47c4eb:	e8 4b 20 00 00       	call   0x47e53b
47c4f0:	23 f8                	and    %eax,%edi
47c4f2:	23 f2                	and    %edx,%esi
47c4f4:	8b 45 1c             	mov    0x1c(%ebp),%eax
47c4f7:	8b c8                	mov    %eax,%ecx
47c4f9:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
47c4fd:	74 13                	je     0x47c512
47c4ff:	e8 41 fc ff ff       	call   0x47c145
47c504:	50                   	push   %eax
47c505:	56                   	push   %esi
47c506:	57                   	push   %edi
47c507:	53                   	push   %ebx
47c508:	ff 75 14             	push   0x14(%ebp)
47c50b:	e8 cd e0 ff ff       	call   0x47a5dd
47c510:	eb 11                	jmp    0x47c523
47c512:	e8 53 fc ff ff       	call   0x47c16a
47c517:	50                   	push   %eax
47c518:	56                   	push   %esi
47c519:	57                   	push   %edi
47c51a:	53                   	push   %ebx
47c51b:	ff 75 14             	push   0x14(%ebp)
47c51e:	e8 8a e0 ff ff       	call   0x47a5ad
47c523:	83 c4 14             	add    $0x14,%esp
47c526:	eb a6                	jmp    0x47c4ce
47c528:	8b ff                	mov    %edi,%edi
47c52a:	55                   	push   %ebp
47c52b:	8b ec                	mov    %esp,%ebp
47c52d:	83 ec 1c             	sub    $0x1c,%esp
47c530:	33 d2                	xor    %edx,%edx
47c532:	53                   	push   %ebx
47c533:	8b 5d 18             	mov    0x18(%ebp),%ebx
47c536:	56                   	push   %esi
47c537:	57                   	push   %edi
47c538:	8b 7d 0c             	mov    0xc(%ebp),%edi
47c53b:	38 53 04             	cmp    %dl,0x4(%ebx)
47c53e:	0f 94 c2             	sete   %dl
47c541:	4a                   	dec    %edx
47c542:	83 e2 1d             	and    $0x1d,%edx
47c545:	83 c2 17             	add    $0x17,%edx
47c548:	83 ff 40             	cmp    $0x40,%edi
47c54b:	77 35                	ja     0x47c582
47c54d:	8b 75 08             	mov    0x8(%ebp),%esi
47c550:	83 3e 00             	cmpl   $0x0,(%esi)
47c553:	76 0d                	jbe    0x47c562
47c555:	83 3e 01             	cmpl   $0x1,(%esi)
47c558:	8b 4e 04             	mov    0x4(%esi),%ecx
47c55b:	76 07                	jbe    0x47c564
47c55d:	8b 76 08             	mov    0x8(%esi),%esi
47c560:	eb 04                	jmp    0x47c566
47c562:	33 c9                	xor    %ecx,%ecx
47c564:	33 f6                	xor    %esi,%esi
47c566:	8a 45 14             	mov    0x14(%ebp),%al
47c569:	34 01                	xor    $0x1,%al
47c56b:	53                   	push   %ebx
47c56c:	0f b6 c0             	movzbl %al,%eax
47c56f:	50                   	push   %eax
47c570:	ff 75 10             	push   0x10(%ebp)
47c573:	33 c0                	xor    %eax,%eax
47c575:	03 c1                	add    %ecx,%eax
47c577:	52                   	push   %edx
47c578:	83 d6 00             	adc    $0x0,%esi
47c57b:	56                   	push   %esi
47c57c:	50                   	push   %eax
47c57d:	e9 2b 01 00 00       	jmp    0x47c6ad
47c582:	8b c7                	mov    %edi,%eax
47c584:	c1 ef 05             	shr    $0x5,%edi
47c587:	83 e0 1f             	and    $0x1f,%eax
47c58a:	89 45 f0             	mov    %eax,-0x10(%ebp)
47c58d:	8d 77 fe             	lea    -0x2(%edi),%esi
47c590:	8b c6                	mov    %esi,%eax
47c592:	c1 e0 05             	shl    $0x5,%eax
47c595:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
47c599:	89 45 f8             	mov    %eax,-0x8(%ebp)
47c59c:	8b 45 08             	mov    0x8(%ebp),%eax
47c59f:	8b 4c b0 04          	mov    0x4(%eax,%esi,4),%ecx
47c5a3:	89 4d e8             	mov    %ecx,-0x18(%ebp)
47c5a6:	8b 0c b8             	mov    (%eax,%edi,4),%ecx
47c5a9:	89 4d f4             	mov    %ecx,-0xc(%ebp)
47c5ac:	75 4a                	jne    0x47c5f8
47c5ae:	03 55 f8             	add    -0x8(%ebp),%edx
47c5b1:	33 ff                	xor    %edi,%edi
47c5b3:	03 7c b0 04          	add    0x4(%eax,%esi,4),%edi
47c5b7:	89 55 e8             	mov    %edx,-0x18(%ebp)
47c5ba:	83 d1 00             	adc    $0x0,%ecx
47c5bd:	89 4d f4             	mov    %ecx,-0xc(%ebp)
47c5c0:	8a 4d 14             	mov    0x14(%ebp),%cl
47c5c3:	80 f1 01             	xor    $0x1,%cl
47c5c6:	88 4d f0             	mov    %cl,-0x10(%ebp)
47c5c9:	85 f6                	test   %esi,%esi
47c5cb:	74 18                	je     0x47c5e5
47c5cd:	8d 50 04             	lea    0x4(%eax),%edx
47c5d0:	83 3a 00             	cmpl   $0x0,(%edx)
47c5d3:	8d 52 04             	lea    0x4(%edx),%edx
47c5d6:	0f 95 c0             	setne  %al
47c5d9:	fe c8                	dec    %al
47c5db:	22 c8                	and    %al,%cl
47c5dd:	83 ee 01             	sub    $0x1,%esi
47c5e0:	75 ee                	jne    0x47c5d0
47c5e2:	88 4d f0             	mov    %cl,-0x10(%ebp)
47c5e5:	53                   	push   %ebx
47c5e6:	ff 75 f0             	push   -0x10(%ebp)
47c5e9:	ff 75 10             	push   0x10(%ebp)
47c5ec:	ff 75 e8             	push   -0x18(%ebp)
47c5ef:	ff 75 f4             	push   -0xc(%ebp)
47c5f2:	57                   	push   %edi
47c5f3:	e9 b5 00 00 00       	jmp    0x47c6ad
47c5f8:	8b 45 f0             	mov    -0x10(%ebp),%eax
47c5fb:	33 db                	xor    %ebx,%ebx
47c5fd:	8b c8                	mov    %eax,%ecx
47c5ff:	43                   	inc    %ebx
47c600:	89 5d fc             	mov    %ebx,-0x4(%ebp)
47c603:	d3 65 fc             	shll   %cl,-0x4(%ebp)
47c606:	ff 4d fc             	decl   -0x4(%ebp)
47c609:	6a 40                	push   $0x40
47c60b:	59                   	pop    %ecx
47c60c:	2b c8                	sub    %eax,%ecx
47c60e:	03 45 f8             	add    -0x8(%ebp),%eax
47c611:	03 c2                	add    %edx,%eax
47c613:	89 4d ec             	mov    %ecx,-0x14(%ebp)
47c616:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47c619:	33 d2                	xor    %edx,%edx
47c61b:	8b 45 f4             	mov    -0xc(%ebp),%eax
47c61e:	8d 49 e0             	lea    -0x20(%ecx),%ecx
47c621:	e8 2a 94 01 00       	call   0x495a50
47c626:	8b 4d f0             	mov    -0x10(%ebp),%ecx
47c629:	89 45 f8             	mov    %eax,-0x8(%ebp)
47c62c:	8b 45 fc             	mov    -0x4(%ebp),%eax
47c62f:	f7 d0                	not    %eax
47c631:	89 55 f4             	mov    %edx,-0xc(%ebp)
47c634:	23 45 e8             	and    -0x18(%ebp),%eax
47c637:	33 d2                	xor    %edx,%edx
47c639:	e8 32 94 01 00       	call   0x495a70
47c63e:	01 45 f8             	add    %eax,-0x8(%ebp)
47c641:	8b 45 08             	mov    0x8(%ebp),%eax
47c644:	11 55 f4             	adc    %edx,-0xc(%ebp)
47c647:	33 d2                	xor    %edx,%edx
47c649:	8b 4d ec             	mov    -0x14(%ebp),%ecx
47c64c:	8b 44 b8 04          	mov    0x4(%eax,%edi,4),%eax
47c650:	8b 7d fc             	mov    -0x4(%ebp),%edi
47c653:	23 c7                	and    %edi,%eax
47c655:	e8 f6 93 01 00       	call   0x495a50
47c65a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47c65d:	03 c8                	add    %eax,%ecx
47c65f:	8b 45 f4             	mov    -0xc(%ebp),%eax
47c662:	89 4d f8             	mov    %ecx,-0x8(%ebp)
47c665:	13 c2                	adc    %edx,%eax
47c667:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
47c66b:	89 45 f4             	mov    %eax,-0xc(%ebp)
47c66e:	75 05                	jne    0x47c675
47c670:	85 7d e8             	test   %edi,-0x18(%ebp)
47c673:	74 02                	je     0x47c677
47c675:	32 db                	xor    %bl,%bl
47c677:	88 5d f0             	mov    %bl,-0x10(%ebp)
47c67a:	85 f6                	test   %esi,%esi
47c67c:	74 21                	je     0x47c69f
47c67e:	8b 4d 08             	mov    0x8(%ebp),%ecx
47c681:	83 c1 04             	add    $0x4,%ecx
47c684:	83 39 00             	cmpl   $0x0,(%ecx)
47c687:	8d 49 04             	lea    0x4(%ecx),%ecx
47c68a:	0f 95 c0             	setne  %al
47c68d:	fe c8                	dec    %al
47c68f:	22 d8                	and    %al,%bl
47c691:	88 5d f0             	mov    %bl,-0x10(%ebp)
47c694:	83 ee 01             	sub    $0x1,%esi
47c697:	75 eb                	jne    0x47c684
47c699:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47c69c:	8b 45 f4             	mov    -0xc(%ebp),%eax
47c69f:	ff 75 18             	push   0x18(%ebp)
47c6a2:	ff 75 f0             	push   -0x10(%ebp)
47c6a5:	ff 75 10             	push   0x10(%ebp)
47c6a8:	ff 75 e4             	push   -0x1c(%ebp)
47c6ab:	50                   	push   %eax
47c6ac:	51                   	push   %ecx
47c6ad:	e8 1d fb ff ff       	call   0x47c1cf
47c6b2:	83 c4 18             	add    $0x18,%esp
47c6b5:	5f                   	pop    %edi
47c6b6:	5e                   	pop    %esi
47c6b7:	5b                   	pop    %ebx
47c6b8:	c9                   	leave
47c6b9:	c3                   	ret
47c6ba:	8b ff                	mov    %edi,%edi
47c6bc:	55                   	push   %ebp
47c6bd:	8b ec                	mov    %esp,%ebp
47c6bf:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47c6c2:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
47c6c6:	74 17                	je     0x47c6df
47c6c8:	e8 78 fa ff ff       	call   0x47c145
47c6cd:	8b c8                	mov    %eax,%ecx
47c6cf:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
47c6d3:	99                   	cltd
47c6d4:	c1 e0 1f             	shl    $0x1f,%eax
47c6d7:	83 21 00             	andl   $0x0,(%ecx)
47c6da:	89 41 04             	mov    %eax,0x4(%ecx)
47c6dd:	5d                   	pop    %ebp
47c6de:	c3                   	ret
47c6df:	e8 86 fa ff ff       	call   0x47c16a
47c6e4:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
47c6e8:	c1 e1 1f             	shl    $0x1f,%ecx
47c6eb:	89 08                	mov    %ecx,(%eax)
47c6ed:	5d                   	pop    %ebp
47c6ee:	c3                   	ret
47c6ef:	8b ff                	mov    %edi,%edi
47c6f1:	55                   	push   %ebp
47c6f2:	8b ec                	mov    %esp,%ebp
47c6f4:	81 ec 2c 0b 00 00    	sub    $0xb2c,%esp
47c6fa:	a1 14 40 4c 00       	mov    0x4c4014,%eax
47c6ff:	33 c5                	xor    %ebp,%eax
47c701:	89 45 fc             	mov    %eax,-0x4(%ebp)
47c704:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47c707:	33 c0                	xor    %eax,%eax
47c709:	8b 55 08             	mov    0x8(%ebp),%edx
47c70c:	53                   	push   %ebx
47c70d:	56                   	push   %esi
47c70e:	38 41 04             	cmp    %al,0x4(%ecx)
47c711:	8b 1a                	mov    (%edx),%ebx
47c713:	0f 94 c0             	sete   %al
47c716:	89 95 b4 f6 ff ff    	mov    %edx,-0x94c(%ebp)
47c71c:	48                   	dec    %eax
47c71d:	89 8d ac f6 ff ff    	mov    %ecx,-0x954(%ebp)
47c723:	83 e0 1d             	and    $0x1d,%eax
47c726:	83 c0 19             	add    $0x19,%eax
47c729:	89 85 b0 f6 ff ff    	mov    %eax,-0x950(%ebp)
47c72f:	57                   	push   %edi
47c730:	85 db                	test   %ebx,%ebx
47c732:	79 02                	jns    0x47c736
47c734:	33 db                	xor    %ebx,%ebx
47c736:	8b 42 04             	mov    0x4(%edx),%eax
47c739:	8b cb                	mov    %ebx,%ecx
47c73b:	3b d8                	cmp    %eax,%ebx
47c73d:	72 02                	jb     0x47c741
47c73f:	8b c8                	mov    %eax,%ecx
47c741:	2b d9                	sub    %ecx,%ebx
47c743:	8d 7a 08             	lea    0x8(%edx),%edi
47c746:	83 c0 08             	add    $0x8,%eax
47c749:	89 9d d0 f6 ff ff    	mov    %ebx,-0x930(%ebp)
47c74f:	83 c1 08             	add    $0x8,%ecx
47c752:	89 bd c4 f6 ff ff    	mov    %edi,-0x93c(%ebp)
47c758:	03 ca                	add    %edx,%ecx
47c75a:	03 c2                	add    %edx,%eax
47c75c:	89 8d a8 f6 ff ff    	mov    %ecx,-0x958(%ebp)
47c762:	33 db                	xor    %ebx,%ebx
47c764:	89 85 a4 f6 ff ff    	mov    %eax,-0x95c(%ebp)
47c76a:	33 f6                	xor    %esi,%esi
47c76c:	2b c1                	sub    %ecx,%eax
47c76e:	89 9d e8 f6 ff ff    	mov    %ebx,-0x918(%ebp)
47c774:	33 c9                	xor    %ecx,%ecx
47c776:	89 85 c0 f6 ff ff    	mov    %eax,-0x940(%ebp)
47c77c:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
47c782:	89 b5 e0 f6 ff ff    	mov    %esi,-0x920(%ebp)
47c788:	3b bd a8 f6 ff ff    	cmp    -0x958(%ebp),%edi
47c78e:	0f 84 ae 06 00 00    	je     0x47ce42
47c794:	83 f9 09             	cmp    $0x9,%ecx
47c797:	0f 85 04 01 00 00    	jne    0x47c8a1
47c79d:	85 db                	test   %ebx,%ebx
47c79f:	0f 84 86 00 00 00    	je     0x47c82b
47c7a5:	33 c9                	xor    %ecx,%ecx
47c7a7:	bf 00 ca 9a 3b       	mov    $0x3b9aca00,%edi
47c7ac:	33 f6                	xor    %esi,%esi
47c7ae:	8b 84 b5 30 fe ff ff 	mov    -0x1d0(%ebp,%esi,4),%eax
47c7b5:	f7 e7                	mul    %edi
47c7b7:	03 c1                	add    %ecx,%eax
47c7b9:	89 84 b5 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%esi,4)
47c7c0:	83 d2 00             	adc    $0x0,%edx
47c7c3:	46                   	inc    %esi
47c7c4:	8b ca                	mov    %edx,%ecx
47c7c6:	3b f3                	cmp    %ebx,%esi
47c7c8:	75 e4                	jne    0x47c7ae
47c7ca:	8b bd c4 f6 ff ff    	mov    -0x93c(%ebp),%edi
47c7d0:	85 c9                	test   %ecx,%ecx
47c7d2:	74 4b                	je     0x47c81f
47c7d4:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
47c7da:	83 f8 73             	cmp    $0x73,%eax
47c7dd:	73 16                	jae    0x47c7f5
47c7df:	89 8c 85 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%eax,4)
47c7e6:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
47c7ec:	43                   	inc    %ebx
47c7ed:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
47c7f3:	eb 30                	jmp    0x47c825
47c7f5:	33 c0                	xor    %eax,%eax
47c7f7:	50                   	push   %eax
47c7f8:	89 85 ec f6 ff ff    	mov    %eax,-0x914(%ebp)
47c7fe:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
47c804:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
47c80a:	50                   	push   %eax
47c80b:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
47c811:	68 cc 01 00 00       	push   $0x1cc
47c816:	50                   	push   %eax
47c817:	e8 bf d9 ff ff       	call   0x47a1db
47c81c:	83 c4 10             	add    $0x10,%esp
47c81f:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
47c825:	8b b5 e0 f6 ff ff    	mov    -0x920(%ebp),%esi
47c82b:	85 f6                	test   %esi,%esi
47c82d:	74 6e                	je     0x47c89d
47c82f:	33 d2                	xor    %edx,%edx
47c831:	85 db                	test   %ebx,%ebx
47c833:	74 1c                	je     0x47c851
47c835:	33 c0                	xor    %eax,%eax
47c837:	01 b4 95 30 fe ff ff 	add    %esi,-0x1d0(%ebp,%edx,4)
47c83e:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
47c844:	13 c0                	adc    %eax,%eax
47c846:	42                   	inc    %edx
47c847:	8b f0                	mov    %eax,%esi
47c849:	3b d3                	cmp    %ebx,%edx
47c84b:	75 e8                	jne    0x47c835
47c84d:	85 c0                	test   %eax,%eax
47c84f:	74 4c                	je     0x47c89d
47c851:	83 fb 73             	cmp    $0x73,%ebx
47c854:	73 16                	jae    0x47c86c
47c856:	89 b4 9d 30 fe ff ff 	mov    %esi,-0x1d0(%ebp,%ebx,4)
47c85d:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
47c863:	43                   	inc    %ebx
47c864:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
47c86a:	eb 31                	jmp    0x47c89d
47c86c:	83 a5 ec f6 ff ff 00 	andl   $0x0,-0x914(%ebp)
47c873:	8d 85 f0 f6 ff ff    	lea    -0x910(%ebp),%eax
47c879:	83 a5 2c fe ff ff 00 	andl   $0x0,-0x1d4(%ebp)
47c880:	6a 00                	push   $0x0
47c882:	50                   	push   %eax
47c883:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
47c889:	68 cc 01 00 00       	push   $0x1cc
47c88e:	50                   	push   %eax
47c88f:	e8 47 d9 ff ff       	call   0x47a1db
47c894:	8b 9d 2c fe ff ff    	mov    -0x1d4(%ebp),%ebx
47c89a:	83 c4 10             	add    $0x10,%esp
47c89d:	33 f6                	xor    %esi,%esi
47c89f:	33 c9                	xor    %ecx,%ecx
47c8a1:	0f b6 07             	movzbl (%edi),%eax
47c8a4:	6b f6 0a             	imul   $0xa,%esi,%esi
47c8a7:	03 f0                	add    %eax,%esi
47c8a9:	41                   	inc    %ecx