4766f7:	74 41                	je     0x47673a
4766f9:	80 7d cf 00          	cmpb   $0x0,-0x31(%ebp)
4766fd:	74 1f                	je     0x47671e
4766ff:	8b 55 c4             	mov    -0x3c(%ebp),%edx
476702:	8b 45 fc             	mov    -0x4(%ebp),%eax
476705:	e8 9e e6 ff ff       	call   0x474da8
47670a:	8b 45 fc             	mov    -0x4(%ebp),%eax
47670d:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
476713:	8b 55 c4             	mov    -0x3c(%ebp),%edx
476716:	8b 04 90             	mov    (%eax,%edx,4),%eax
476719:	89 45 a8             	mov    %eax,-0x58(%ebp)
47671c:	eb 1c                	jmp    0x47673a
47671e:	57                   	push   %edi
47671f:	6a 00                	push   $0x0
476721:	8b 55 fc             	mov    -0x4(%ebp),%edx
476724:	8b c7                	mov    %edi,%eax
476726:	8b 08                	mov    (%eax),%ecx
476728:	ff 51 44             	call   *0x44(%ecx)
47672b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47672e:	b2 01                	mov    $0x1,%dl
476730:	ff 50 4c             	call   *0x4c(%eax)
476733:	89 45 a8             	mov    %eax,-0x58(%ebp)
476736:	c6 45 a5 01          	movb   $0x1,-0x5b(%ebp)
47673a:	33 c0                	xor    %eax,%eax
47673c:	55                   	push   %ebp
47673d:	68 93 67 47 00       	push   $0x476793
476742:	64 ff 30             	push   %fs:(%eax)
476745:	64 89 20             	mov    %esp,%fs:(%eax)
476748:	8d 46 0c             	lea    0xc(%esi),%eax
47674b:	50                   	push   %eax
47674c:	8d 4e 08             	lea    0x8(%esi),%ecx
47674f:	8b 55 b8             	mov    -0x48(%ebp),%edx
476752:	8b 45 a8             	mov    -0x58(%ebp),%eax
476755:	8b 18                	mov    (%eax),%ebx
476757:	ff 13                	call   *(%ebx)
476759:	8b 45 a8             	mov    -0x58(%ebp),%eax
47675c:	8b 10                	mov    (%eax),%edx
47675e:	ff 52 48             	call   *0x48(%edx)
476761:	84 c0                	test   %al,%al
476763:	74 12                	je     0x476777
476765:	c6 46 14 01          	movb   $0x1,0x14(%esi)
476769:	8b 46 08             	mov    0x8(%esi),%eax
47676c:	3b 45 b0             	cmp    -0x50(%ebp),%eax
47676f:	7e 06                	jle    0x476777
476771:	8b 46 08             	mov    0x8(%esi),%eax
476774:	89 45 b0             	mov    %eax,-0x50(%ebp)
476777:	33 c0                	xor    %eax,%eax
476779:	5a                   	pop    %edx
47677a:	59                   	pop    %ecx
47677b:	59                   	pop    %ecx
47677c:	64 89 10             	mov    %edx,%fs:(%eax)
47677f:	68 9a 67 47 00       	push   $0x47679a
476784:	80 7d a5 00          	cmpb   $0x0,-0x5b(%ebp)
476788:	74 08                	je     0x476792
47678a:	8b 45 a8             	mov    -0x58(%ebp),%eax
47678d:	e8 e6 d2 f8 ff       	call   0x403a78
476792:	c3                   	ret
476793:	e9 74 da f8 ff       	jmp    0x40420c
476798:	eb ea                	jmp    0x476784
47679a:	80 7d b5 00          	cmpb   $0x0,-0x4b(%ebp)
47679e:	74 37                	je     0x4767d7
4767a0:	8b 45 b8             	mov    -0x48(%ebp),%eax
4767a3:	8b 40 0c             	mov    0xc(%eax),%eax
4767a6:	89 45 98             	mov    %eax,-0x68(%ebp)
4767a9:	8b 45 98             	mov    -0x68(%ebp),%eax
4767ac:	e8 a7 15 fb ff       	call   0x427d58
4767b1:	8a 15 c4 70 47 00    	mov    0x4770c4,%dl
4767b7:	f7 d2                	not    %edx
4767b9:	22 d0                	and    %al,%dl
4767bb:	8b 45 98             	mov    -0x68(%ebp),%eax
4767be:	e8 a1 15 fb ff       	call   0x427d64
4767c3:	eb 12                	jmp    0x4767d7
4767c5:	8b bf b0 00 00 00    	mov    0xb0(%edi),%edi
4767cb:	8b 47 48             	mov    0x48(%edi),%eax
4767ce:	89 46 08             	mov    %eax,0x8(%esi)
4767d1:	8b 47 4c             	mov    0x4c(%edi),%eax
4767d4:	89 46 0c             	mov    %eax,0xc(%esi)
4767d7:	ff 45 c4             	incl   -0x3c(%ebp)
4767da:	ff 4d a0             	decl   -0x60(%ebp)
4767dd:	0f 85 7a fe ff ff    	jne    0x47665d
4767e3:	8b 45 10             	mov    0x10(%ebp),%eax
4767e6:	33 d2                	xor    %edx,%edx
4767e8:	89 10                	mov    %edx,(%eax)
4767ea:	8b 45 10             	mov    0x10(%ebp),%eax
4767ed:	33 d2                	xor    %edx,%edx
4767ef:	89 50 04             	mov    %edx,0x4(%eax)
4767f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4767f5:	8b 80 c0 00 00 00    	mov    0xc0(%eax),%eax
4767fb:	48                   	dec    %eax
4767fc:	85 c0                	test   %eax,%eax
4767fe:	7c 4a                	jl     0x47684a
476800:	40                   	inc    %eax
476801:	89 45 a0             	mov    %eax,-0x60(%ebp)
476804:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
47680b:	6b 45 c4 15          	imul   $0x15,-0x3c(%ebp),%eax
47680f:	8b 55 f8             	mov    -0x8(%ebp),%edx
476812:	8d 04 02             	lea    (%edx,%eax,1),%eax
476815:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
476819:	74 0e                	je     0x476829
47681b:	8b 50 08             	mov    0x8(%eax),%edx
47681e:	3b 55 b0             	cmp    -0x50(%ebp),%edx
476821:	7d 06                	jge    0x476829
476823:	8b 55 b0             	mov    -0x50(%ebp),%edx
476826:	89 50 08             	mov    %edx,0x8(%eax)
476829:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
47682d:	74 0a                	je     0x476839
47682f:	8b 40 08             	mov    0x8(%eax),%eax
476832:	8b 55 10             	mov    0x10(%ebp),%edx
476835:	01 02                	add    %eax,(%edx)
476837:	eb 09                	jmp    0x476842
476839:	8b 40 0c             	mov    0xc(%eax),%eax
47683c:	8b 55 10             	mov    0x10(%ebp),%edx
47683f:	01 42 04             	add    %eax,0x4(%edx)
476842:	ff 45 c4             	incl   -0x3c(%ebp)
476845:	ff 4d a0             	decl   -0x60(%ebp)
476848:	75 c1                	jne    0x47680b
47684a:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
47684e:	74 07                	je     0x476857
476850:	8b 5d 10             	mov    0x10(%ebp),%ebx
476853:	8b 1b                	mov    (%ebx),%ebx
476855:	eb 06                	jmp    0x47685d
476857:	8b 5d 10             	mov    0x10(%ebp),%ebx
47685a:	8b 5b 04             	mov    0x4(%ebx),%ebx
47685d:	c6 45 a6 00          	movb   $0x0,-0x5a(%ebp)
476861:	83 7d bc 00          	cmpl   $0x0,-0x44(%ebp)
476865:	74 0b                	je     0x476872
476867:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
47686b:	7e 05                	jle    0x476872
47686d:	3b 5d 18             	cmp    0x18(%ebp),%ebx
476870:	7f 04                	jg     0x476876
476872:	33 c0                	xor    %eax,%eax
476874:	eb 02                	jmp    0x476878
476876:	b0 01                	mov    $0x1,%al
476878:	88 45 a7             	mov    %al,-0x59(%ebp)
47687b:	80 7d a7 00          	cmpb   $0x0,-0x59(%ebp)
47687f:	0f 84 01 02 00 00    	je     0x476a86
476885:	8b 45 14             	mov    0x14(%ebp),%eax
476888:	29 45 18             	sub    %eax,0x18(%ebp)
47688b:	3b 5d 18             	cmp    0x18(%ebp),%ebx
47688e:	0f 8e f2 01 00 00    	jle    0x476a86
476894:	33 c0                	xor    %eax,%eax
476896:	8b 55 fc             	mov    -0x4(%ebp),%edx
476899:	8b 92 c0 00 00 00    	mov    0xc0(%edx),%edx
47689f:	4a                   	dec    %edx
4768a0:	83 fa 00             	cmp    $0x0,%edx
4768a3:	7c 33                	jl     0x4768d8
4768a5:	89 55 c4             	mov    %edx,-0x3c(%ebp)
4768a8:	6b 55 c4 15          	imul   $0x15,-0x3c(%ebp),%edx
4768ac:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4768af:	80 7c 11 10 00       	cmpb   $0x0,0x10(%ecx,%edx,1)
4768b4:	74 19                	je     0x4768cf
4768b6:	8b 55 fc             	mov    -0x4(%ebp),%edx
4768b9:	8b 92 c4 00 00 00    	mov    0xc4(%edx),%edx
4768bf:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4768c2:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
4768c5:	8b 52 1c             	mov    0x1c(%edx),%edx
4768c8:	f6 42 64 04          	testb  $0x4,0x64(%edx)
4768cc:	75 01                	jne    0x4768cf
4768ce:	40                   	inc    %eax
4768cf:	ff 4d c4             	decl   -0x3c(%ebp)
4768d2:	83 7d c4 ff          	cmpl   $0xffffffff,-0x3c(%ebp)
4768d6:	75 d0                	jne    0x4768a8
4768d8:	48                   	dec    %eax
4768d9:	0f 8e a7 01 00 00    	jle    0x476a86
4768df:	8b 45 fc             	mov    -0x4(%ebp),%eax
4768e2:	8b 80 c0 00 00 00    	mov    0xc0(%eax),%eax
4768e8:	48                   	dec    %eax
4768e9:	83 f8 00             	cmp    $0x0,%eax
4768ec:	7c 4e                	jl     0x47693c
4768ee:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4768f1:	6b 45 c4 15          	imul   $0x15,-0x3c(%ebp),%eax
4768f5:	8b 55 f8             	mov    -0x8(%ebp),%edx
4768f8:	8d 04 02             	lea    (%edx,%eax,1),%eax
4768fb:	80 78 10 00          	cmpb   $0x0,0x10(%eax)
4768ff:	74 32                	je     0x476933
476901:	8b 55 fc             	mov    -0x4(%ebp),%edx
476904:	8b 92 c4 00 00 00    	mov    0xc4(%edx),%edx
47690a:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
47690d:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
476910:	8b 52 1c             	mov    0x1c(%edx),%edx
476913:	f6 42 64 04          	testb  $0x4,0x64(%edx)
476917:	74 23                	je     0x47693c
476919:	c6 40 10 00          	movb   $0x0,0x10(%eax)
47691d:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
476921:	74 08                	je     0x47692b
476923:	2b 58 08             	sub    0x8(%eax),%ebx
476926:	e9 ee 00 00 00       	jmp    0x476a19
47692b:	2b 58 0c             	sub    0xc(%eax),%ebx
47692e:	e9 e6 00 00 00       	jmp    0x476a19
476933:	ff 4d c4             	decl   -0x3c(%ebp)
476936:	83 7d c4 ff          	cmpl   $0xffffffff,-0x3c(%ebp)
47693a:	75 b5                	jne    0x4768f1
47693c:	8b 45 fc             	mov    -0x4(%ebp),%eax
47693f:	83 b8 a0 00 00 00 00 	cmpl   $0x0,0xa0(%eax)
476946:	74 12                	je     0x47695a
476948:	8b 45 fc             	mov    -0x4(%ebp),%eax
47694b:	8b 80 a0 00 00 00    	mov    0xa0(%eax),%eax
476951:	8b 40 08             	mov    0x8(%eax),%eax
476954:	48                   	dec    %eax
476955:	89 45 c4             	mov    %eax,-0x3c(%ebp)
476958:	eb 0d                	jmp    0x476967
47695a:	8b 45 fc             	mov    -0x4(%ebp),%eax
47695d:	8b 80 c0 00 00 00    	mov    0xc0(%eax),%eax
476963:	48                   	dec    %eax
476964:	89 45 c4             	mov    %eax,-0x3c(%ebp)
476967:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
47696b:	0f 8c 15 01 00 00    	jl     0x476a86
476971:	8b 45 fc             	mov    -0x4(%ebp),%eax
476974:	8b b0 a0 00 00 00    	mov    0xa0(%eax),%esi
47697a:	85 f6                	test   %esi,%esi
47697c:	74 17                	je     0x476995
47697e:	8b c6                	mov    %esi,%eax
476980:	8b 55 c4             	mov    -0x3c(%ebp),%edx
476983:	e8 38 54 fa ff       	call   0x41bdc0
476988:	89 45 a8             	mov    %eax,-0x58(%ebp)
47698b:	8b 45 a8             	mov    -0x58(%ebp),%eax
47698e:	e8 31 db ff ff       	call   0x4744c4
476993:	eb 15                	jmp    0x4769aa
476995:	8b 45 fc             	mov    -0x4(%ebp),%eax
476998:	8b 80 c4 00 00 00    	mov    0xc4(%eax),%eax
47699e:	8b 55 c4             	mov    -0x3c(%ebp),%edx
4769a1:	8b 04 90             	mov    (%eax,%edx,4),%eax
4769a4:	89 45 a8             	mov    %eax,-0x58(%ebp)
4769a7:	8b 45 c4             	mov    -0x3c(%ebp),%eax
4769aa:	6b f0 15             	imul   $0x15,%eax,%esi
4769ad:	8b 55 f8             	mov    -0x8(%ebp),%edx
4769b0:	80 7c 32 10 00       	cmpb   $0x0,0x10(%edx,%esi,1)
4769b5:	74 53                	je     0x476a0a
4769b7:	8b 55 a8             	mov    -0x58(%ebp),%edx
4769ba:	8b 52 1c             	mov    0x1c(%edx),%edx
4769bd:	f6 42 64 04          	testb  $0x4,0x64(%edx)
4769c1:	75 47                	jne    0x476a0a
4769c3:	8b 55 f8             	mov    -0x8(%ebp),%edx
4769c6:	c6 44 32 10 00       	movb   $0x0,0x10(%edx,%esi,1)
4769cb:	8b 55 f8             	mov    -0x8(%ebp),%edx
4769ce:	c6 44 32 11 01       	movb   $0x1,0x11(%edx,%esi,1)
4769d3:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
4769d7:	74 09                	je     0x4769e2
4769d9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4769dc:	2b 5c 30 08          	sub    0x8(%eax,%esi,1),%ebx
4769e0:	eb 07                	jmp    0x4769e9
4769e2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4769e5:	2b 5c 30 0c          	sub    0xc(%eax,%esi,1),%ebx
4769e9:	80 7d a6 00          	cmpb   $0x0,-0x5a(%ebp)
4769ed:	75 2a                	jne    0x476a19
4769ef:	8b 45 a8             	mov    -0x58(%ebp),%eax
4769f2:	8b 40 1c             	mov    0x1c(%eax),%eax
4769f5:	8b 15 9c 03 47 00    	mov    0x47039c,%edx
4769fb:	e8 04 d2 f8 ff       	call   0x403c04
476a00:	84 c0                	test   %al,%al
476a02:	75 15                	jne    0x476a19
476a04:	c6 45 a6 01          	movb   $0x1,-0x5a(%ebp)
476a08:	eb 0f                	jmp    0x476a19
476a0a:	ff 4d c4             	decl   -0x3c(%ebp)
476a0d:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
476a11:	0f 8d 5a ff ff ff    	jge    0x476971
476a17:	eb 6d                	jmp    0x476a86
476a19:	c6 45 b7 01          	movb   $0x1,-0x49(%ebp)
476a1d:	8b 45 fc             	mov    -0x4(%ebp),%eax
476a20:	8b 80 c0 00 00 00    	mov    0xc0(%eax),%eax
476a26:	48                   	dec    %eax
476a27:	85 c0                	test   %eax,%eax
476a29:	7c 52                	jl     0x476a7d
476a2b:	40                   	inc    %eax
476a2c:	89 45 a0             	mov    %eax,-0x60(%ebp)
476a2f:	33 c0                	xor    %eax,%eax
476a31:	8b 55 fc             	mov    -0x4(%ebp),%edx
476a34:	8b 92 c4 00 00 00    	mov    0xc4(%edx),%edx
476a3a:	8b 14 82             	mov    (%edx,%eax,4),%edx
476a3d:	8b 7a 1c             	mov    0x1c(%edx),%edi
476a40:	6b d0 15             	imul   $0x15,%eax,%edx
476a43:	8b 4d f8             	mov    -0x8(%ebp),%ecx
476a46:	8d 34 11             	lea    (%ecx,%edx,1),%esi
476a49:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
476a4d:	74 28                	je     0x476a77
476a4f:	f6 47 64 04          	testb  $0x4,0x64(%edi)
476a53:	0f 95 c2             	setne  %dl
476a56:	22 55 b7             	and    -0x49(%ebp),%dl
476a59:	74 12                	je     0x476a6d
476a5b:	c6 46 10 00          	movb   $0x0,0x10(%esi)
476a5f:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
476a63:	74 05                	je     0x476a6a
476a65:	2b 5e 08             	sub    0x8(%esi),%ebx
476a68:	eb 03                	jmp    0x476a6d
476a6a:	2b 5e 0c             	sub    0xc(%esi),%ebx
476a6d:	f6 47 64 04          	testb  $0x4,0x64(%edi)
476a71:	0f 95 c2             	setne  %dl
476a74:	88 55 b7             	mov    %dl,-0x49(%ebp)
476a77:	40                   	inc    %eax
476a78:	ff 4d a0             	decl   -0x60(%ebp)
476a7b:	75 b4                	jne    0x476a31
476a7d:	3b 5d 18             	cmp    0x18(%ebp),%ebx
476a80:	0f 8f 0e fe ff ff    	jg     0x476894
476a86:	8b 45 fc             	mov    -0x4(%ebp),%eax
476a89:	8b 80 c0 00 00 00    	mov    0xc0(%eax),%eax
476a8f:	48                   	dec    %eax
476a90:	83 f8 00             	cmp    $0x0,%eax
476a93:	7c 38                	jl     0x476acd
476a95:	89 45 c4             	mov    %eax,-0x3c(%ebp)
476a98:	6b 45 c4 15          	imul   $0x15,-0x3c(%ebp),%eax
476a9c:	8b 55 f8             	mov    -0x8(%ebp),%edx
476a9f:	8d 04 02             	lea    (%edx,%eax,1),%eax
476aa2:	80 78 10 00          	cmpb   $0x0,0x10(%eax)
476aa6:	74 1c                	je     0x476ac4
476aa8:	8b 55 fc             	mov    -0x4(%ebp),%edx
476aab:	8b 92 c4 00 00 00    	mov    0xc4(%edx),%edx
476ab1:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
476ab4:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
476ab7:	8b 52 1c             	mov    0x1c(%edx),%edx
476aba:	f6 42 64 04          	testb  $0x4,0x64(%edx)
476abe:	74 0d                	je     0x476acd
476ac0:	c6 40 10 00          	movb   $0x0,0x10(%eax)
476ac4:	ff 4d c4             	decl   -0x3c(%ebp)
476ac7:	83 7d c4 ff          	cmpl   $0xffffffff,-0x3c(%ebp)
476acb:	75 cb                	jne    0x476a98
476acd:	8b 45 fc             	mov    -0x4(%ebp),%eax
476ad0:	8b 80 c0 00 00 00    	mov    0xc0(%eax),%eax
476ad6:	48                   	dec    %eax
476ad7:	85 c0                	test   %eax,%eax
476ad9:	7c 51                	jl     0x476b2c
476adb:	40                   	inc    %eax
476adc:	89 45 a0             	mov    %eax,-0x60(%ebp)
476adf:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
476ae6:	6b 45 c4 15          	imul   $0x15,-0x3c(%ebp),%eax
476aea:	8b 55 f8             	mov    -0x8(%ebp),%edx
476aed:	8d 04 02             	lea    (%edx,%eax,1),%eax
476af0:	80 78 10 00          	cmpb   $0x0,0x10(%eax)
476af4:	74 2e                	je     0x476b24
476af6:	80 7d f7 01          	cmpb   $0x1,-0x9(%ebp)
476afa:	74 16                	je     0x476b12
476afc:	8b 50 0c             	mov    0xc(%eax),%edx
476aff:	8b 4d 10             	mov    0x10(%ebp),%ecx
476b02:	3b 51 04             	cmp    0x4(%ecx),%edx
476b05:	7e 1d                	jle    0x476b24
476b07:	8b 40 0c             	mov    0xc(%eax),%eax
476b0a:	8b 55 10             	mov    0x10(%ebp),%edx
476b0d:	89 42 04             	mov    %eax,0x4(%edx)
476b10:	eb 12                	jmp    0x476b24
476b12:	8b 50 08             	mov    0x8(%eax),%edx
476b15:	8b 4d 10             	mov    0x10(%ebp),%ecx
476b18:	3b 11                	cmp    (%ecx),%edx
476b1a:	7e 08                	jle    0x476b24
476b1c:	8b 40 08             	mov    0x8(%eax),%eax
476b1f:	8b 55 10             	mov    0x10(%ebp),%edx
476b22:	89 02                	mov    %eax,(%edx)
476b24:	ff 45 c4             	incl   -0x3c(%ebp)
476b27:	ff 4d a0             	decl   -0x60(%ebp)
476b2a:	75 ba                	jne    0x476ae6
476b2c:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
476b2f:	8a 55 f7             	mov    -0x9(%ebp),%dl