47e572:	83 7c 24 2c 01       	cmpl   $0x1,0x2c(%esp)
47e577:	8b 5c 24 14          	mov    0x14(%esp),%ebx
47e57b:	89 74 24 20          	mov    %esi,0x20(%esp)
47e57f:	8b 74 24 18          	mov    0x18(%esp),%esi
47e583:	89 7c 24 10          	mov    %edi,0x10(%esp)
47e587:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
47e58b:	76 22                	jbe    0x47e5af
47e58d:	8b 44 24 20          	mov    0x20(%esp),%eax
47e591:	8d 4c 24 28          	lea    0x28(%esp),%ecx
47e595:	48                   	dec    %eax
47e596:	50                   	push   %eax
47e597:	e8 b6 95 f8 ff       	call   0x407b52
47e59c:	6a 3b                	push   $0x3b
47e59e:	59                   	pop    %ecx
47e59f:	66 39 08             	cmp    %cx,(%eax)
47e5a2:	8b 44 24 10          	mov    0x10(%esp),%eax
47e5a6:	74 0b                	je     0x47e5b3
47e5a8:	40                   	inc    %eax
47e5a9:	89 44 24 10          	mov    %eax,0x10(%esp)
47e5ad:	eb 04                	jmp    0x47e5b3
47e5af:	8b 44 24 10          	mov    0x10(%esp),%eax
47e5b3:	33 c9                	xor    %ecx,%ecx
47e5b5:	89 46 0c             	mov    %eax,0xc(%esi)
47e5b8:	89 4e 08             	mov    %ecx,0x8(%esi)
47e5bb:	89 4c 24 20          	mov    %ecx,0x20(%esp)
47e5bf:	85 c0                	test   %eax,%eax
47e5c1:	7e 3c                	jle    0x47e5ff
47e5c3:	8d 4e 40             	lea    0x40(%esi),%ecx
47e5c6:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
47e5ca:	8d 41 f0             	lea    -0x10(%ecx),%eax
47e5cd:	50                   	push   %eax
47e5ce:	8d 44 24 2c          	lea    0x2c(%esp),%eax
47e5d2:	50                   	push   %eax
47e5d3:	e8 1b ed ff ff       	call   0x47d2f3
47e5d8:	84 c0                	test   %al,%al
47e5da:	0f 84 ae 00 00 00    	je     0x47e68e
47e5e0:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
47e5e4:	8b 01                	mov    (%ecx),%eax
47e5e6:	83 c1 18             	add    $0x18,%ecx
47e5e9:	01 46 08             	add    %eax,0x8(%esi)
47e5ec:	8b 44 24 20          	mov    0x20(%esp),%eax
47e5f0:	40                   	inc    %eax
47e5f1:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
47e5f5:	89 44 24 20          	mov    %eax,0x20(%esp)
47e5f9:	3b 44 24 10          	cmp    0x10(%esp),%eax
47e5fd:	7c cb                	jl     0x47e5ca
47e5ff:	6a 40                	push   $0x40
47e601:	be a5 0f 42 00       	mov    $0x420fa5,%esi
47e606:	33 c0                	xor    %eax,%eax
47e608:	68 00 30 00 00       	push   $0x3000
47e60d:	81 ee 2e 0f 42 00    	sub    $0x420f2e,%esi
47e613:	56                   	push   %esi
47e614:	50                   	push   %eax
47e615:	ff 15 2c f3 48 00    	call   *0x48f32c
47e61b:	56                   	push   %esi
47e61c:	8b f0                	mov    %eax,%esi
47e61e:	89 44 24 24          	mov    %eax,0x24(%esp)
47e622:	68 2e 0f 42 00       	push   $0x420f2e
47e627:	56                   	push   %esi
47e628:	e8 53 2a fa ff       	call   0x421080
47e62d:	8b 8f b4 01 00 00    	mov    0x1b4(%edi),%ecx
47e633:	83 c4 0c             	add    $0xc,%esp
47e636:	8b 7c 24 24          	mov    0x24(%esp),%edi
47e63a:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
47e63d:	8b 09                	mov    (%ecx),%ecx
47e63f:	89 71 10             	mov    %esi,0x10(%ecx)
47e642:	81 ee 2e 0f 42 00    	sub    $0x420f2e,%esi
47e648:	8b 4c 24 18          	mov    0x18(%esp),%ecx
47e64c:	8b c6                	mov    %esi,%eax
47e64e:	05 7e 0f 42 00       	add    $0x420f7e,%eax
47e653:	c7 40 01 54 e0 47 00 	movl   $0x47e054,0x1(%eax)
47e65a:	8b c6                	mov    %esi,%eax
47e65c:	05 37 0f 42 00       	add    $0x420f37,%eax
47e661:	89 58 01             	mov    %ebx,0x1(%eax)
47e664:	8b c6                	mov    %esi,%eax
47e666:	05 3f 0f 42 00       	add    $0x420f3f,%eax
47e66b:	81 c6 a2 0f 42 00    	add    $0x420fa2,%esi
47e671:	89 48 01             	mov    %ecx,0x1(%eax)
47e674:	33 c0                	xor    %eax,%eax
47e676:	39 41 0c             	cmp    %eax,0xc(%ecx)
47e679:	74 39                	je     0x47e6b4
47e67b:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
47e67f:	74 33                	je     0x47e6b4
47e681:	c6 06 c2             	movb   $0xc2,(%esi)
47e684:	66 8b 41 08          	mov    0x8(%ecx),%ax
47e688:	66 89 46 01          	mov    %ax,0x1(%esi)
47e68c:	eb 29                	jmp    0x47e6b7
47e68e:	8b 75 0c             	mov    0xc(%ebp),%esi
47e691:	8b ce                	mov    %esi,%ecx
47e693:	e8 88 b3 f8 ff       	call   0x409a20
47e698:	33 c0                	xor    %eax,%eax
47e69a:	50                   	push   %eax
47e69b:	6a 02                	push   $0x2
47e69d:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
47e6a4:	89 06                	mov    %eax,(%esi)
47e6a6:	8b 07                	mov    (%edi),%eax
47e6a8:	8b 48 04             	mov    0x4(%eax),%ecx
47e6ab:	03 cf                	add    %edi,%ecx
47e6ad:	e8 f1 83 fd ff       	call   0x456aa3
47e6b2:	eb 19                	jmp    0x47e6cd
47e6b4:	c6 06 c3             	movb   $0xc3,(%esi)
47e6b7:	8b 75 0c             	mov    0xc(%ebp),%esi
47e6ba:	8b ce                	mov    %esi,%ecx
47e6bc:	e8 5f b3 f8 ff       	call   0x409a20
47e6c1:	8d 47 01             	lea    0x1(%edi),%eax
47e6c4:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
47e6cb:	89 06                	mov    %eax,(%esi)
47e6cd:	8d 4c 24 28          	lea    0x28(%esp),%ecx
47e6d1:	e8 8e 73 f8 ff       	call   0x405a64
47e6d6:	8d 4c 24 38          	lea    0x38(%esp),%ecx
47e6da:	e8 85 73 f8 ff       	call   0x405a64
47e6df:	5f                   	pop    %edi
47e6e0:	5e                   	pop    %esi
47e6e1:	33 c0                	xor    %eax,%eax
47e6e3:	5b                   	pop    %ebx
47e6e4:	8b e5                	mov    %ebp,%esp
47e6e6:	5d                   	pop    %ebp
47e6e7:	c2 08 00             	ret    $0x8
47e6ea:	55                   	push   %ebp
47e6eb:	8b ec                	mov    %esp,%ebp
47e6ed:	8b 45 08             	mov    0x8(%ebp),%eax
47e6f0:	56                   	push   %esi
47e6f1:	57                   	push   %edi
47e6f2:	8b f9                	mov    %ecx,%edi
47e6f4:	8b 40 04             	mov    0x4(%eax),%eax
47e6f7:	8b 08                	mov    (%eax),%ecx
47e6f9:	e8 9e b5 f8 ff       	call   0x409c9c
47e6fe:	8b f0                	mov    %eax,%esi
47e700:	4e                   	dec    %esi
47e701:	78 2c                	js     0x47e72f
47e703:	3b b7 a8 01 00 00    	cmp    0x1a8(%edi),%esi
47e709:	7d 24                	jge    0x47e72f
47e70b:	8b 87 a4 01 00 00    	mov    0x1a4(%edi),%eax
47e711:	8b 04 b0             	mov    (%eax,%esi,4),%eax
47e714:	83 38 00             	cmpl   $0x0,(%eax)
47e717:	74 16                	je     0x47e72f
47e719:	ff 30                	push   (%eax)
47e71b:	ff 15 98 f1 48 00    	call   *0x48f198
47e721:	8b 87 a4 01 00 00    	mov    0x1a4(%edi),%eax
47e727:	8b 04 b0             	mov    (%eax,%esi,4),%eax
47e72a:	83 20 00             	andl   $0x0,(%eax)
47e72d:	eb 14                	jmp    0x47e743
47e72f:	8b 75 0c             	mov    0xc(%ebp),%esi
47e732:	8b ce                	mov    %esi,%ecx
47e734:	e8 e7 b2 f8 ff       	call   0x409a20
47e739:	83 26 00             	andl   $0x0,(%esi)
47e73c:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
47e743:	5f                   	pop    %edi
47e744:	33 c0                	xor    %eax,%eax
47e746:	5e                   	pop    %esi
47e747:	5d                   	pop    %ebp
47e748:	c2 08 00             	ret    $0x8
47e74b:	55                   	push   %ebp
47e74c:	8b ec                	mov    %esp,%ebp
47e74e:	8b 45 08             	mov    0x8(%ebp),%eax
47e751:	53                   	push   %ebx
47e752:	56                   	push   %esi
47e753:	8b d9                	mov    %ecx,%ebx
47e755:	8b 40 04             	mov    0x4(%eax),%eax
47e758:	8b 30                	mov    (%eax),%esi
47e75a:	8b ce                	mov    %esi,%ecx
47e75c:	e8 36 b2 f8 ff       	call   0x409997
47e761:	8b 46 08             	mov    0x8(%esi),%eax
47e764:	ff 30                	push   (%eax)
47e766:	ff 15 28 f3 48 00    	call   *0x48f328
47e76c:	8b f0                	mov    %eax,%esi
47e76e:	89 75 08             	mov    %esi,0x8(%ebp)
47e771:	85 f6                	test   %esi,%esi
47e773:	75 0f                	jne    0x47e784
47e775:	8b 75 0c             	mov    0xc(%ebp),%esi
47e778:	8b ce                	mov    %esi,%ecx
47e77a:	e8 a1 b2 f8 ff       	call   0x409a20
47e77f:	83 0e ff             	orl    $0xffffffff,(%esi)
47e782:	eb 52                	jmp    0x47e7d6
47e784:	8b 8b a8 01 00 00    	mov    0x1a8(%ebx),%ecx
47e78a:	57                   	push   %edi
47e78b:	33 ff                	xor    %edi,%edi
47e78d:	85 c9                	test   %ecx,%ecx
47e78f:	74 15                	je     0x47e7a6
47e791:	8b 93 a4 01 00 00    	mov    0x1a4(%ebx),%edx
47e797:	8b 02                	mov    (%edx),%eax
47e799:	83 38 00             	cmpl   $0x0,(%eax)
47e79c:	74 08                	je     0x47e7a6
47e79e:	47                   	inc    %edi
47e79f:	83 c2 04             	add    $0x4,%edx
47e7a2:	3b f9                	cmp    %ecx,%edi
47e7a4:	72 f1                	jb     0x47e797
47e7a6:	3b f9                	cmp    %ecx,%edi
47e7a8:	75 11                	jne    0x47e7bb
47e7aa:	8d 45 08             	lea    0x8(%ebp),%eax
47e7ad:	50                   	push   %eax
47e7ae:	8d 8b a0 01 00 00    	lea    0x1a0(%ebx),%ecx
47e7b4:	e8 7c 10 ff ff       	call   0x46f835
47e7b9:	eb 0b                	jmp    0x47e7c6
47e7bb:	8b 83 a4 01 00 00    	mov    0x1a4(%ebx),%eax
47e7c1:	8b 04 b8             	mov    (%eax,%edi,4),%eax
47e7c4:	89 30                	mov    %esi,(%eax)
47e7c6:	8b 75 0c             	mov    0xc(%ebp),%esi
47e7c9:	8b ce                	mov    %esi,%ecx
47e7cb:	e8 50 b2 f8 ff       	call   0x409a20
47e7d0:	8d 47 01             	lea    0x1(%edi),%eax
47e7d3:	89 06                	mov    %eax,(%esi)
47e7d5:	5f                   	pop    %edi
47e7d6:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
47e7dd:	33 c0                	xor    %eax,%eax
47e7df:	5e                   	pop    %esi
47e7e0:	5b                   	pop    %ebx
47e7e1:	5d                   	pop    %ebp
47e7e2:	c2 08 00             	ret    $0x8
47e7e5:	55                   	push   %ebp
47e7e6:	8b ec                	mov    %esp,%ebp
47e7e8:	53                   	push   %ebx
47e7e9:	56                   	push   %esi
47e7ea:	8b 75 08             	mov    0x8(%ebp),%esi
47e7ed:	33 db                	xor    %ebx,%ebx
47e7ef:	57                   	push   %edi
47e7f0:	8b f9                	mov    %ecx,%edi
47e7f2:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
47e7f6:	76 2d                	jbe    0x47e825
47e7f8:	8b 46 04             	mov    0x4(%esi),%eax
47e7fb:	8b 48 04             	mov    0x4(%eax),%ecx
47e7fe:	e8 b8 a1 fe ff       	call   0x4689bb
47e803:	85 c0                	test   %eax,%eax
47e805:	75 11                	jne    0x47e818
47e807:	8b 75 0c             	mov    0xc(%ebp),%esi
47e80a:	8b ce                	mov    %esi,%ecx
47e80c:	e8 0f b2 f8 ff       	call   0x409a20
47e811:	21 1e                	and    %ebx,(%esi)
47e813:	53                   	push   %ebx
47e814:	6a 03                	push   $0x3
47e816:	eb 5f                	jmp    0x47e877
47e818:	8b 46 04             	mov    0x4(%esi),%eax
47e81b:	8b 48 04             	mov    0x4(%eax),%ecx
47e81e:	e8 98 a1 fe ff       	call   0x4689bb
47e823:	8b d8                	mov    %eax,%ebx
47e825:	8b 4e 04             	mov    0x4(%esi),%ecx
47e828:	83 65 08 00          	andl   $0x0,0x8(%ebp)
47e82c:	8b 31                	mov    (%ecx),%esi
47e82e:	8b ce                	mov    %esi,%ecx
47e830:	e8 62 b1 f8 ff       	call   0x409997
47e835:	8b 4e 08             	mov    0x8(%esi),%ecx
47e838:	83 ec 10             	sub    $0x10,%esp
47e83b:	8b 75 0c             	mov    0xc(%ebp),%esi
47e83e:	8b d4                	mov    %esp,%edx
47e840:	8b 01                	mov    (%ecx),%eax
47e842:	89 02                	mov    %eax,(%edx)
47e844:	8b 41 04             	mov    0x4(%ecx),%eax
47e847:	89 42 04             	mov    %eax,0x4(%edx)
47e84a:	8b 41 08             	mov    0x8(%ecx),%eax
47e84d:	89 42 08             	mov    %eax,0x8(%edx)
47e850:	8b 41 0c             	mov    0xc(%ecx),%eax
47e853:	8b ce                	mov    %esi,%ecx
47e855:	89 42 0c             	mov    %eax,0xc(%edx)
47e858:	53                   	push   %ebx
47e859:	ff 00                	incl   (%eax)
47e85b:	8d 45 08             	lea    0x8(%ebp),%eax
47e85e:	50                   	push   %eax
47e85f:	e8 4f 91 fe ff       	call   0x4679b3
47e864:	85 c0                	test   %eax,%eax
47e866:	75 22                	jne    0x47e88a
47e868:	8b ce                	mov    %esi,%ecx
47e86a:	e8 b1 b1 f8 ff       	call   0x409a20
47e86f:	83 26 00             	andl   $0x0,(%esi)
47e872:	6a 00                	push   $0x0
47e874:	ff 75 08             	push   0x8(%ebp)
47e877:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
47e87e:	8b 07                	mov    (%edi),%eax
47e880:	8b 48 04             	mov    0x4(%eax),%ecx
47e883:	03 cf                	add    %edi,%ecx
47e885:	e8 19 82 fd ff       	call   0x456aa3
47e88a:	5f                   	pop    %edi
47e88b:	5e                   	pop    %esi
47e88c:	33 c0                	xor    %eax,%eax
47e88e:	5b                   	pop    %ebx
47e88f:	5d                   	pop    %ebp
47e890:	c2 08 00             	ret    $0x8
47e893:	55                   	push   %ebp
47e894:	8b ec                	mov    %esp,%ebp
47e896:	83 e4 f8             	and    $0xfffffff8,%esp
47e899:	83 ec 14             	sub    $0x14,%esp
47e89c:	53                   	push   %ebx
47e89d:	56                   	push   %esi
47e89e:	57                   	push   %edi
47e89f:	8b 7d 08             	mov    0x8(%ebp),%edi
47e8a2:	8b d9                	mov    %ecx,%ebx
47e8a4:	8b 4f 04             	mov    0x4(%edi),%ecx
47e8a7:	8b 01                	mov    (%ecx),%eax
47e8a9:	83 78 0c 0c          	cmpl   $0xc,0xc(%eax)
47e8ad:	74 27                	je     0x47e8d6
47e8af:	8b 75 0c             	mov    0xc(%ebp),%esi
47e8b2:	8b ce                	mov    %esi,%ecx
47e8b4:	e8 67 b1 f8 ff       	call   0x409a20
47e8b9:	33 c0                	xor    %eax,%eax
47e8bb:	40                   	inc    %eax
47e8bc:	6a 00                	push   $0x0
47e8be:	89 46 0c             	mov    %eax,0xc(%esi)
47e8c1:	50                   	push   %eax
47e8c2:	83 26 00             	andl   $0x0,(%esi)
47e8c5:	8b 03                	mov    (%ebx),%eax
47e8c7:	8b 48 04             	mov    0x4(%eax),%ecx
47e8ca:	03 cb                	add    %ebx,%ecx
47e8cc:	e8 d2 81 fd ff       	call   0x456aa3
47e8d1:	e9 ba 00 00 00       	jmp    0x47e990
47e8d6:	83 4c 24 0c ff       	orl    $0xffffffff,0xc(%esp)
47e8db:	83 7f 08 03          	cmpl   $0x3,0x8(%edi)
47e8df:	72 37                	jb     0x47e918
47e8e1:	8b 71 08             	mov    0x8(%ecx),%esi
47e8e4:	8b ce                	mov    %esi,%ecx
47e8e6:	6a 29                	push   $0x29
47e8e8:	e8 c1 b4 f8 ff       	call   0x409dae
47e8ed:	84 c0                	test   %al,%al
47e8ef:	75 27                	jne    0x47e918
47e8f1:	8b ce                	mov    %esi,%ecx
47e8f3:	e8 a4 b3 f8 ff       	call   0x409c9c
47e8f8:	8b f0                	mov    %eax,%esi
47e8fa:	4e                   	dec    %esi
47e8fb:	89 74 24 0c          	mov    %esi,0xc(%esp)
47e8ff:	79 17                	jns    0x47e918
47e901:	8b 75 0c             	mov    0xc(%ebp),%esi
47e904:	8b ce                	mov    %esi,%ecx
47e906:	e8 15 b1 f8 ff       	call   0x409a20
47e90b:	6a 00                	push   $0x0
47e90d:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
47e914:	6a 05                	push   $0x5
47e916:	eb aa                	jmp    0x47e8c2
47e918:	8b 47 04             	mov    0x4(%edi),%eax
47e91b:	8d 4c 24 10          	lea    0x10(%esp),%ecx
47e91f:	83 64 24 18 00       	andl   $0x0,0x18(%esp)
47e924:	ff 70 04             	push   0x4(%eax)
47e927:	e8 94 b1 f8 ff       	call   0x409ac0
47e92c:	83 7c 24 1c 04       	cmpl   $0x4,0x1c(%esp)
47e931:	74 21                	je     0x47e954
47e933:	8d 4c 24 10          	lea    0x10(%esp),%ecx
47e937:	e8 60 b3 f8 ff       	call   0x409c9c
47e93c:	8d 4c 24 10          	lea    0x10(%esp),%ecx
47e940:	8d 70 ff             	lea    -0x1(%eax),%esi
47e943:	e8 d8 b0 f8 ff       	call   0x409a20
47e948:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
47e94f:	00
47e950:	89 74 24 10          	mov    %esi,0x10(%esp)
47e954:	8b 47 04             	mov    0x4(%edi),%eax
47e957:	8b 00                	mov    (%eax),%eax
47e959:	83 78 0c 0c          	cmpl   $0xc,0xc(%eax)
47e95d:	75 04                	jne    0x47e963
47e95f:	8b 08                	mov    (%eax),%ecx
47e961:	eb 02                	jmp    0x47e965
47e963:	33 c9                	xor    %ecx,%ecx
47e965:	6a 00                	push   $0x0
47e967:	51                   	push   %ecx
47e968:	ff 74 24 14          	push   0x14(%esp)