47e624:	89 46 1c             	mov    %eax,0x1c(%esi)
47e627:	ff 45 dc             	incl   -0x24(%ebp)
47e62a:	ff 4d 90             	decl   -0x70(%ebp)
47e62d:	75 a4                	jne    0x47e5d3
47e62f:	33 c0                	xor    %eax,%eax
47e631:	89 45 d8             	mov    %eax,-0x28(%ebp)
47e634:	33 c0                	xor    %eax,%eax
47e636:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47e639:	8b 45 e4             	mov    -0x1c(%ebp),%eax
47e63c:	3b 45 e8             	cmp    -0x18(%ebp),%eax
47e63f:	0f 8f ed 00 00 00    	jg     0x47e732
47e645:	8b 45 f8             	mov    -0x8(%ebp),%eax
47e648:	8b 40 08             	mov    0x8(%eax),%eax
47e64b:	48                   	dec    %eax
47e64c:	85 c0                	test   %eax,%eax
47e64e:	0f 8c cf 00 00 00    	jl     0x47e723
47e654:	40                   	inc    %eax
47e655:	89 45 90             	mov    %eax,-0x70(%ebp)
47e658:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
47e65f:	8b 55 dc             	mov    -0x24(%ebp),%edx
47e662:	8b 45 f8             	mov    -0x8(%ebp),%eax
47e665:	e8 56 d7 f9 ff       	call   0x41bdc0
47e66a:	89 45 9c             	mov    %eax,-0x64(%ebp)
47e66d:	8b 45 dc             	mov    -0x24(%ebp),%eax
47e670:	8d 04 c0             	lea    (%eax,%eax,8),%eax
47e673:	8b 55 fc             	mov    -0x4(%ebp),%edx
47e676:	8b 44 82 04          	mov    0x4(%edx,%eax,4),%eax
47e67a:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
47e67d:	0f 85 94 00 00 00    	jne    0x47e717
47e683:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
47e687:	75 18                	jne    0x47e6a1
47e689:	8b 45 9c             	mov    -0x64(%ebp),%eax
47e68c:	80 b8 9c 02 00 00 00 	cmpb   $0x0,0x29c(%eax)
47e693:	74 0c                	je     0x47e6a1
47e695:	8b 45 f4             	mov    -0xc(%ebp),%eax
47e698:	80 b8 22 02 00 00 00 	cmpb   $0x0,0x222(%eax)
47e69f:	74 12                	je     0x47e6b3
47e6a1:	83 7d d8 01          	cmpl   $0x1,-0x28(%ebp)
47e6a5:	75 70                	jne    0x47e717
47e6a7:	8b 45 9c             	mov    -0x64(%ebp),%eax
47e6aa:	80 b8 8c 02 00 00 00 	cmpb   $0x0,0x28c(%eax)
47e6b1:	74 64                	je     0x47e717
47e6b3:	8b 45 f8             	mov    -0x8(%ebp),%eax
47e6b6:	8b 40 08             	mov    0x8(%eax),%eax
47e6b9:	48                   	dec    %eax
47e6ba:	85 c0                	test   %eax,%eax
47e6bc:	7c 59                	jl     0x47e717
47e6be:	40                   	inc    %eax
47e6bf:	89 45 88             	mov    %eax,-0x78(%ebp)
47e6c2:	33 db                	xor    %ebx,%ebx
47e6c4:	3b 5d dc             	cmp    -0x24(%ebp),%ebx
47e6c7:	74 48                	je     0x47e711
47e6c9:	8d 04 db             	lea    (%ebx,%ebx,8),%eax
47e6cc:	8b 55 fc             	mov    -0x4(%ebp),%edx
47e6cf:	8b 44 82 04          	mov    0x4(%edx,%eax,4),%eax
47e6d3:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
47e6d6:	75 39                	jne    0x47e711
47e6d8:	8b 45 f8             	mov    -0x8(%ebp),%eax
47e6db:	8b 40 08             	mov    0x8(%eax),%eax
47e6de:	48                   	dec    %eax
47e6df:	85 c0                	test   %eax,%eax
47e6e1:	7c 29                	jl     0x47e70c
47e6e3:	40                   	inc    %eax
47e6e4:	33 ff                	xor    %edi,%edi
47e6e6:	3b 7d dc             	cmp    -0x24(%ebp),%edi
47e6e9:	74 1d                	je     0x47e708
47e6eb:	8d 14 ff             	lea    (%edi,%edi,8),%edx
47e6ee:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47e6f1:	8d 34 91             	lea    (%ecx,%edx,4),%esi
47e6f4:	8b 56 04             	mov    0x4(%esi),%edx
47e6f7:	3b 55 e4             	cmp    -0x1c(%ebp),%edx
47e6fa:	7c 03                	jl     0x47e6ff
47e6fc:	ff 46 04             	incl   0x4(%esi)
47e6ff:	8b 16                	mov    (%esi),%edx
47e701:	3b 55 e4             	cmp    -0x1c(%ebp),%edx
47e704:	7c 02                	jl     0x47e708
47e706:	ff 06                	incl   (%esi)
47e708:	47                   	inc    %edi
47e709:	48                   	dec    %eax
47e70a:	75 da                	jne    0x47e6e6
47e70c:	ff 45 e8             	incl   -0x18(%ebp)
47e70f:	eb 06                	jmp    0x47e717
47e711:	43                   	inc    %ebx
47e712:	ff 4d 88             	decl   -0x78(%ebp)
47e715:	75 ad                	jne    0x47e6c4
47e717:	ff 45 dc             	incl   -0x24(%ebp)
47e71a:	ff 4d 90             	decl   -0x70(%ebp)
47e71d:	0f 85 3c ff ff ff    	jne    0x47e65f
47e723:	ff 45 e4             	incl   -0x1c(%ebp)
47e726:	8b 45 e4             	mov    -0x1c(%ebp),%eax
47e729:	3b 45 e8             	cmp    -0x18(%ebp),%eax
47e72c:	0f 8e 13 ff ff ff    	jle    0x47e645
47e732:	ff 45 d8             	incl   -0x28(%ebp)
47e735:	83 7d d8 02          	cmpl   $0x2,-0x28(%ebp)
47e739:	0f 85 f5 fe ff ff    	jne    0x47e634
47e73f:	33 c0                	xor    %eax,%eax
47e741:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47e744:	8b 45 e4             	mov    -0x1c(%ebp),%eax
47e747:	3b 45 e8             	cmp    -0x18(%ebp),%eax
47e74a:	0f 8f 96 00 00 00    	jg     0x47e7e6
47e750:	b0 01                	mov    $0x1,%al
47e752:	8b 55 f8             	mov    -0x8(%ebp),%edx
47e755:	8b 52 08             	mov    0x8(%edx),%edx
47e758:	4a                   	dec    %edx
47e759:	85 d2                	test   %edx,%edx
47e75b:	7c 29                	jl     0x47e786
47e75d:	42                   	inc    %edx
47e75e:	89 55 90             	mov    %edx,-0x70(%ebp)
47e761:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
47e768:	8b 55 dc             	mov    -0x24(%ebp),%edx
47e76b:	8d 14 d2             	lea    (%edx,%edx,8),%edx
47e76e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47e771:	8b 54 91 04          	mov    0x4(%ecx,%edx,4),%edx
47e775:	3b 55 e4             	cmp    -0x1c(%ebp),%edx
47e778:	75 04                	jne    0x47e77e
47e77a:	33 c0                	xor    %eax,%eax
47e77c:	eb 08                	jmp    0x47e786
47e77e:	ff 45 dc             	incl   -0x24(%ebp)
47e781:	ff 4d 90             	decl   -0x70(%ebp)
47e784:	75 e2                	jne    0x47e768
47e786:	84 c0                	test   %al,%al
47e788:	74 4d                	je     0x47e7d7
47e78a:	8b 45 f8             	mov    -0x8(%ebp),%eax
47e78d:	8b 40 08             	mov    0x8(%eax),%eax
47e790:	48                   	dec    %eax
47e791:	85 c0                	test   %eax,%eax
47e793:	7c 3d                	jl     0x47e7d2
47e795:	40                   	inc    %eax
47e796:	89 45 90             	mov    %eax,-0x70(%ebp)
47e799:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
47e7a0:	8b 45 dc             	mov    -0x24(%ebp),%eax
47e7a3:	8d 04 c0             	lea    (%eax,%eax,8),%eax
47e7a6:	8b 55 fc             	mov    -0x4(%ebp),%edx
47e7a9:	8b 54 82 04          	mov    0x4(%edx,%eax,4),%edx
47e7ad:	3b 55 e4             	cmp    -0x1c(%ebp),%edx
47e7b0:	7e 07                	jle    0x47e7b9
47e7b2:	8b 55 fc             	mov    -0x4(%ebp),%edx
47e7b5:	ff 4c 82 04          	decl   0x4(%edx,%eax,4)
47e7b9:	8b 55 fc             	mov    -0x4(%ebp),%edx
47e7bc:	8b 14 82             	mov    (%edx,%eax,4),%edx
47e7bf:	3b 55 e4             	cmp    -0x1c(%ebp),%edx
47e7c2:	7e 06                	jle    0x47e7ca
47e7c4:	8b 55 fc             	mov    -0x4(%ebp),%edx
47e7c7:	ff 0c 82             	decl   (%edx,%eax,4)
47e7ca:	ff 45 dc             	incl   -0x24(%ebp)
47e7cd:	ff 4d 90             	decl   -0x70(%ebp)
47e7d0:	75 ce                	jne    0x47e7a0
47e7d2:	ff 4d e8             	decl   -0x18(%ebp)
47e7d5:	eb 03                	jmp    0x47e7da
47e7d7:	ff 45 e4             	incl   -0x1c(%ebp)
47e7da:	8b 45 e4             	mov    -0x1c(%ebp),%eax
47e7dd:	3b 45 e8             	cmp    -0x18(%ebp),%eax
47e7e0:	0f 8e 6a ff ff ff    	jle    0x47e750
47e7e6:	33 c0                	xor    %eax,%eax
47e7e8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47e7eb:	8b 45 e4             	mov    -0x1c(%ebp),%eax
47e7ee:	3b 45 e8             	cmp    -0x18(%ebp),%eax
47e7f1:	0f 8f 0e 05 00 00    	jg     0x47ed05
47e7f7:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
47e7fb:	75 08                	jne    0x47e805
47e7fd:	8b 45 d0             	mov    -0x30(%ebp),%eax
47e800:	89 45 c8             	mov    %eax,-0x38(%ebp)
47e803:	eb 06                	jmp    0x47e80b
47e805:	8b 45 cc             	mov    -0x34(%ebp),%eax
47e808:	89 45 c8             	mov    %eax,-0x38(%ebp)
47e80b:	33 c0                	xor    %eax,%eax
47e80d:	89 45 c4             	mov    %eax,-0x3c(%ebp)
47e810:	33 c0                	xor    %eax,%eax
47e812:	89 45 a4             	mov    %eax,-0x5c(%ebp)
47e815:	33 c0                	xor    %eax,%eax
47e817:	89 45 b0             	mov    %eax,-0x50(%ebp)
47e81a:	8b 45 f8             	mov    -0x8(%ebp),%eax
47e81d:	8b 40 08             	mov    0x8(%eax),%eax
47e820:	48                   	dec    %eax
47e821:	85 c0                	test   %eax,%eax
47e823:	0f 8c 0f 01 00 00    	jl     0x47e938
47e829:	40                   	inc    %eax
47e82a:	89 45 90             	mov    %eax,-0x70(%ebp)
47e82d:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
47e834:	8b 45 dc             	mov    -0x24(%ebp),%eax
47e837:	8d 04 c0             	lea    (%eax,%eax,8),%eax
47e83a:	8b 55 fc             	mov    -0x4(%ebp),%edx
47e83d:	8d 34 82             	lea    (%edx,%eax,4),%esi
47e840:	8b 06                	mov    (%esi),%eax
47e842:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
47e845:	0f 85 e1 00 00 00    	jne    0x47e92c
47e84b:	8b 55 dc             	mov    -0x24(%ebp),%edx
47e84e:	8b 45 f8             	mov    -0x8(%ebp),%eax
47e851:	e8 6a d5 f9 ff       	call   0x41bdc0
47e856:	89 45 9c             	mov    %eax,-0x64(%ebp)
47e859:	8d 55 94             	lea    -0x6c(%ebp),%edx
47e85c:	8b 45 9c             	mov    -0x64(%ebp),%eax
47e85f:	8b 08                	mov    (%eax),%ecx
47e861:	ff 91 dc 00 00 00    	call   *0xdc(%ecx)
47e867:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
47e86b:	75 0f                	jne    0x47e87c
47e86d:	8b 45 9c             	mov    -0x64(%ebp),%eax
47e870:	e8 0f 5d 00 00       	call   0x484584
47e875:	8b d8                	mov    %eax,%ebx
47e877:	03 5d 94             	add    -0x6c(%ebp),%ebx
47e87a:	eb 0d                	jmp    0x47e889
47e87c:	8b 45 9c             	mov    -0x64(%ebp),%eax
47e87f:	e8 1c 5d 00 00       	call   0x4845a0
47e884:	8b d8                	mov    %eax,%ebx
47e886:	03 5d 98             	add    -0x68(%ebp),%ebx
47e889:	89 5e 0c             	mov    %ebx,0xc(%esi)
47e88c:	89 5e 14             	mov    %ebx,0x14(%esi)
47e88f:	8b 45 9c             	mov    -0x64(%ebp),%eax
47e892:	8b 10                	mov    (%eax),%edx
47e894:	ff 92 ec 00 00 00    	call   *0xec(%edx)
47e89a:	88 46 20             	mov    %al,0x20(%esi)
47e89d:	33 c0                	xor    %eax,%eax
47e89f:	89 46 10             	mov    %eax,0x10(%esi)
47e8a2:	8d 56 10             	lea    0x10(%esi),%edx
47e8a5:	8b 45 9c             	mov    -0x64(%ebp),%eax
47e8a8:	8b 08                	mov    (%eax),%ecx
47e8aa:	ff 91 e4 00 00 00    	call   *0xe4(%ecx)
47e8b0:	8b 46 0c             	mov    0xc(%esi),%eax
47e8b3:	3b 46 10             	cmp    0x10(%esi),%eax
47e8b6:	7d 06                	jge    0x47e8be
47e8b8:	8b 46 0c             	mov    0xc(%esi),%eax
47e8bb:	89 46 10             	mov    %eax,0x10(%esi)
47e8be:	80 7e 20 02          	cmpb   $0x2,0x20(%esi)
47e8c2:	75 08                	jne    0x47e8cc
47e8c4:	8b 46 10             	mov    0x10(%esi),%eax
47e8c7:	01 45 b0             	add    %eax,-0x50(%ebp)
47e8ca:	eb 06                	jmp    0x47e8d2
47e8cc:	8b 46 0c             	mov    0xc(%esi),%eax
47e8cf:	01 45 b0             	add    %eax,-0x50(%ebp)
47e8d2:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
47e8d6:	7e 4e                	jle    0x47e926
47e8d8:	8b 45 b0             	mov    -0x50(%ebp),%eax
47e8db:	3b 45 c8             	cmp    -0x38(%ebp),%eax
47e8de:	7e 46                	jle    0x47e926
47e8e0:	8b 45 f4             	mov    -0xc(%ebp),%eax
47e8e3:	80 b8 22 02 00 00 00 	cmpb   $0x0,0x222(%eax)
47e8ea:	75 3a                	jne    0x47e926
47e8ec:	8b 7d dc             	mov    -0x24(%ebp),%edi
47e8ef:	8b 45 f8             	mov    -0x8(%ebp),%eax
47e8f2:	8b 40 08             	mov    0x8(%eax),%eax
47e8f5:	48                   	dec    %eax
47e8f6:	2b c7                	sub    %edi,%eax
47e8f8:	7c 27                	jl     0x47e921
47e8fa:	40                   	inc    %eax
47e8fb:	89 45 88             	mov    %eax,-0x78(%ebp)
47e8fe:	8d 04 ff             	lea    (%edi,%edi,8),%eax
47e901:	8b 55 fc             	mov    -0x4(%ebp),%edx
47e904:	8d 34 82             	lea    (%edx,%eax,4),%esi
47e907:	8b 46 04             	mov    0x4(%esi),%eax
47e90a:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
47e90d:	7c 03                	jl     0x47e912
47e90f:	ff 46 04             	incl   0x4(%esi)
47e912:	8b 06                	mov    (%esi),%eax
47e914:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
47e917:	7c 02                	jl     0x47e91b
47e919:	ff 06                	incl   (%esi)
47e91b:	47                   	inc    %edi
47e91c:	ff 4d 88             	decl   -0x78(%ebp)
47e91f:	75 dd                	jne    0x47e8fe
47e921:	ff 45 e8             	incl   -0x18(%ebp)
47e924:	eb 12                	jmp    0x47e938
47e926:	01 5d c4             	add    %ebx,-0x3c(%ebp)
47e929:	ff 45 a4             	incl   -0x5c(%ebp)
47e92c:	ff 45 dc             	incl   -0x24(%ebp)
47e92f:	ff 4d 90             	decl   -0x70(%ebp)
47e932:	0f 85 fc fe ff ff    	jne    0x47e834
47e938:	8b 45 c4             	mov    -0x3c(%ebp),%eax
47e93b:	2b 45 c8             	sub    -0x38(%ebp),%eax
47e93e:	89 45 c0             	mov    %eax,-0x40(%ebp)
47e941:	33 c0                	xor    %eax,%eax
47e943:	89 45 ac             	mov    %eax,-0x54(%ebp)
47e946:	33 ff                	xor    %edi,%edi
47e948:	33 c0                	xor    %eax,%eax
47e94a:	89 45 b8             	mov    %eax,-0x48(%ebp)
47e94d:	33 c0                	xor    %eax,%eax
47e94f:	89 45 b0             	mov    %eax,-0x50(%ebp)
47e952:	33 c0                	xor    %eax,%eax
47e954:	89 45 a8             	mov    %eax,-0x58(%ebp)
47e957:	8b 45 f8             	mov    -0x8(%ebp),%eax
47e95a:	8b 40 08             	mov    0x8(%eax),%eax
47e95d:	48                   	dec    %eax
47e95e:	85 c0                	test   %eax,%eax
47e960:	0f 8c b0 00 00 00    	jl     0x47ea16
47e966:	40                   	inc    %eax
47e967:	89 45 90             	mov    %eax,-0x70(%ebp)
47e96a:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
47e971:	8b 45 dc             	mov    -0x24(%ebp),%eax
47e974:	8d 04 c0             	lea    (%eax,%eax,8),%eax
47e977:	8b 55 fc             	mov    -0x4(%ebp),%edx
47e97a:	8d 34 82             	lea    (%edx,%eax,4),%esi
47e97d:	8b 55 dc             	mov    -0x24(%ebp),%edx
47e980:	8b 45 f8             	mov    -0x8(%ebp),%eax
47e983:	e8 38 d4 f9 ff       	call   0x41bdc0
47e988:	89 45 9c             	mov    %eax,-0x64(%ebp)
47e98b:	8b 06                	mov    (%esi),%eax
47e98d:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
47e990:	75 78                	jne    0x47ea0a
47e992:	85 ff                	test   %edi,%edi
47e994:	75 1c                	jne    0x47e9b2
47e996:	8b 45 9c             	mov    -0x64(%ebp),%eax
47e999:	80 b8 8c 02 00 00 00 	cmpb   $0x0,0x28c(%eax)
47e9a0:	75 0c                	jne    0x47e9ae
47e9a2:	8b 45 9c             	mov    -0x64(%ebp),%eax
47e9a5:	80 b8 8f 02 00 00 00 	cmpb   $0x0,0x28f(%eax)
47e9ac:	74 04                	je     0x47e9b2
47e9ae:	33 db                	xor    %ebx,%ebx
47e9b0:	eb 0c                	jmp    0x47e9be
47e9b2:	8b 45 9c             	mov    -0x64(%ebp),%eax
47e9b5:	8b 98 14 02 00 00    	mov    0x214(%eax),%ebx
47e9bb:	03 5d a8             	add    -0x58(%ebp),%ebx
47e9be:	8b 45 dc             	mov    -0x24(%ebp),%eax
47e9c1:	3b 45 b4             	cmp    -0x4c(%ebp),%eax
47e9c4:	75 03                	jne    0x47e9c9
47e9c6:	89 5d ac             	mov    %ebx,-0x54(%ebp)
47e9c9:	3b 5d b0             	cmp    -0x50(%ebp),%ebx
47e9cc:	7d 03                	jge    0x47e9d1
47e9ce:	8b 5d b0             	mov    -0x50(%ebp),%ebx
47e9d1:	3b fb                	cmp    %ebx,%edi
47e9d3:	7d 18                	jge    0x47e9ed
47e9d5:	8b c3                	mov    %ebx,%eax
47e9d7:	2b c7                	sub    %edi,%eax
47e9d9:	8b f8                	mov    %eax,%edi
47e9db:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
47e9df:	7f 05                	jg     0x47e9e6
47e9e1:	89 7e 08             	mov    %edi,0x8(%esi)
47e9e4:	eb 03                	jmp    0x47e9e9
47e9e6:	01 7d a8             	add    %edi,-0x58(%ebp)
47e9e9:	8b fb                	mov    %ebx,%edi
47e9eb:	eb 0d                	jmp    0x47e9fa
47e9ed:	3b 5d b8             	cmp    -0x48(%ebp),%ebx
47e9f0:	7d 08                	jge    0x47e9fa
47e9f2:	8b 45 b8             	mov    -0x48(%ebp),%eax
47e9f5:	2b c3                	sub    %ebx,%eax
47e9f7:	89 46 18             	mov    %eax,0x18(%esi)
47e9fa:	8b 46 14             	mov    0x14(%esi),%eax
47e9fd:	03 f8                	add    %eax,%edi
47e9ff:	03 d8                	add    %eax,%ebx
47ea01:	89 5d b8             	mov    %ebx,-0x48(%ebp)
47ea04:	8b 46 10             	mov    0x10(%esi),%eax
47ea07:	01 45 b0             	add    %eax,-0x50(%ebp)
47ea0a:	ff 45 dc             	incl   -0x24(%ebp)
47ea0d:	ff 4d 90             	decl   -0x70(%ebp)
47ea10:	0f 85 5b ff ff ff    	jne    0x47e971
47ea16:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
47ea1a:	7d 6a                	jge    0x47ea86
47ea1c:	83 7d b4 ff          	cmpl   $0xffffffff,-0x4c(%ebp)
47ea20:	74 64                	je     0x47ea86
47ea22:	8b 45 b4             	mov    -0x4c(%ebp),%eax
47ea25:	8d 04 c0             	lea    (%eax,%eax,8),%eax
47ea28:	8b 55 fc             	mov    -0x4(%ebp),%edx