4786ff:	5a                   	pop    %edx
478700:	59                   	pop    %ecx
478701:	59                   	pop    %ecx
478702:	64 89 10             	mov    %edx,%fs:(%eax)
478705:	68 1a 87 47 00       	push   $0x47871a
47870a:	8d 45 fc             	lea    -0x4(%ebp),%eax
47870d:	e8 56 c1 f8 ff       	call   0x404868
478712:	c3                   	ret
478713:	e9 f4 ba f8 ff       	jmp    0x40420c
478718:	eb f0                	jmp    0x47870a
47871a:	5e                   	pop    %esi
47871b:	5b                   	pop    %ebx
47871c:	59                   	pop    %ecx
47871d:	5d                   	pop    %ebp
47871e:	c3                   	ret
47871f:	90                   	nop
478720:	53                   	push   %ebx
478721:	8b d8                	mov    %eax,%ebx
478723:	80 ea 01             	sub    $0x1,%dl
478726:	72 0c                	jb     0x478734
478728:	74 1c                	je     0x478746
47872a:	fe ca                	dec    %dl
47872c:	74 21                	je     0x47874f
47872e:	fe ca                	dec    %dl
478730:	74 3c                	je     0x47876e
478732:	eb 57                	jmp    0x47878b
478734:	8b c3                	mov    %ebx,%eax
478736:	e8 29 ce ff ff       	call   0x475564
47873b:	33 d2                	xor    %edx,%edx
47873d:	8b c3                	mov    %ebx,%eax
47873f:	e8 98 cd ff ff       	call   0x4754dc
478744:	5b                   	pop    %ebx
478745:	c3                   	ret
478746:	8b c3                	mov    %ebx,%eax
478748:	e8 17 ce ff ff       	call   0x475564
47874d:	5b                   	pop    %ebx
47874e:	c3                   	ret
47874f:	80 bb b2 00 00 00 00 	cmpb   $0x0,0xb2(%ebx)
478756:	74 0b                	je     0x478763
478758:	33 d2                	xor    %edx,%edx
47875a:	8b c3                	mov    %ebx,%eax
47875c:	e8 b7 f9 ff ff       	call   0x478118
478761:	eb 28                	jmp    0x47878b
478763:	b2 02                	mov    $0x2,%dl
478765:	8b c3                	mov    %ebx,%eax
478767:	e8 0c cd ff ff       	call   0x475478
47876c:	5b                   	pop    %ebx
47876d:	c3                   	ret
47876e:	80 bb b1 00 00 00 00 	cmpb   $0x0,0xb1(%ebx)
478775:	74 0b                	je     0x478782
478777:	b2 01                	mov    $0x1,%dl
478779:	8b c3                	mov    %ebx,%eax
47877b:	e8 98 f9 ff ff       	call   0x478118
478780:	eb 09                	jmp    0x47878b
478782:	b2 03                	mov    $0x3,%dl
478784:	8b c3                	mov    %ebx,%eax
478786:	e8 ed cc ff ff       	call   0x475478
47878b:	5b                   	pop    %ebx
47878c:	c3                   	ret
47878d:	8d 40 00             	lea    0x0(%eax),%eax
478790:	55                   	push   %ebp
478791:	8b ec                	mov    %esp,%ebp
478793:	83 c4 a4             	add    $0xffffffa4,%esp
478796:	53                   	push   %ebx
478797:	56                   	push   %esi
478798:	57                   	push   %edi
478799:	8b d9                	mov    %ecx,%ebx
47879b:	89 55 fc             	mov    %edx,-0x4(%ebp)
47879e:	89 45 f8             	mov    %eax,-0x8(%ebp)
4787a1:	8d 75 c0             	lea    -0x40(%ebp),%esi
4787a4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4787a7:	83 c0 5c             	add    $0x5c,%eax
4787aa:	33 c9                	xor    %ecx,%ecx
4787ac:	ba 0c 00 00 00       	mov    $0xc,%edx
4787b1:	e8 8a aa f8 ff       	call   0x403240
4787b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4787b9:	e8 c6 c4 ff ff       	call   0x474c84
4787be:	33 d2                	xor    %edx,%edx
4787c0:	55                   	push   %ebp
4787c1:	68 ed 8e 47 00       	push   $0x478eed
4787c6:	64 ff 32             	push   %fs:(%edx)
4787c9:	64 89 22             	mov    %esp,%fs:(%edx)
4787cc:	33 d2                	xor    %edx,%edx
4787ce:	55                   	push   %ebp
4787cf:	68 95 8e 47 00       	push   $0x478e95
4787d4:	64 ff 32             	push   %fs:(%edx)
4787d7:	64 89 22             	mov    %esp,%fs:(%edx)
4787da:	8b 45 f8             	mov    -0x8(%ebp),%eax
4787dd:	8b 40 08             	mov    0x8(%eax),%eax
4787e0:	8b 55 fc             	mov    -0x4(%ebp),%edx
4787e3:	89 42 44             	mov    %eax,0x44(%edx)
4787e6:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)
4787ea:	84 db                	test   %bl,%bl
4787ec:	74 64                	je     0x478852
4787ee:	e8 cd f2 f8 ff       	call   0x407ac0
4787f3:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4787f6:	8b 45 b4             	mov    -0x4c(%ebp),%eax
4787f9:	8d 55 b8             	lea    -0x48(%ebp),%edx
4787fc:	e8 73 f7 f8 ff       	call   0x407f74
478801:	8d 55 b8             	lea    -0x48(%ebp),%edx
478804:	8d 4d ef             	lea    -0x11(%ebp),%ecx
478807:	8b 45 fc             	mov    -0x4(%ebp),%eax
47880a:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
478810:	e8 77 bf ff ff       	call   0x47478c
478815:	8b 45 f3             	mov    -0xd(%ebp),%eax
478818:	50                   	push   %eax
478819:	8d 45 f7             	lea    -0x9(%ebp),%eax
47881c:	50                   	push   %eax
47881d:	8b 45 fc             	mov    -0x4(%ebp),%eax
478820:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
478826:	8b 4d ef             	mov    -0x11(%ebp),%ecx
478829:	8a 15 00 8f 47 00    	mov    0x478f00,%dl
47882f:	8b 18                	mov    (%eax),%ebx
478831:	ff 53 34             	call   *0x34(%ebx)
478834:	8b 45 fc             	mov    -0x4(%ebp),%eax
478837:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
47883b:	74 0f                	je     0x47884c
47883d:	e8 ae ba f8 ff       	call   0x4042f0
478842:	e8 a9 ba f8 ff       	call   0x4042f0
478847:	e9 a8 06 00 00       	jmp    0x478ef4
47884c:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)
478850:	eb 2c                	jmp    0x47887e
478852:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
478856:	74 26                	je     0x47887e
478858:	8a 55 0c             	mov    0xc(%ebp),%dl
47885b:	80 f2 01             	xor    $0x1,%dl
47885e:	8b 45 fc             	mov    -0x4(%ebp),%eax
478861:	e8 2a f8 ff ff       	call   0x478090
478866:	8b 45 fc             	mov    -0x4(%ebp),%eax
478869:	80 78 5c 00          	cmpb   $0x0,0x5c(%eax)
47886d:	74 0f                	je     0x47887e
47886f:	e8 7c ba f8 ff       	call   0x4042f0
478874:	e8 77 ba f8 ff       	call   0x4042f0
478879:	e9 76 06 00 00       	jmp    0x478ef4
47887e:	b3 01                	mov    $0x1,%bl
478880:	e9 eb 05 00 00       	jmp    0x478e70
478885:	84 db                	test   %bl,%bl
478887:	75 05                	jne    0x47888e
478889:	e8 ea f5 f8 ff       	call   0x407e78
47888e:	33 db                	xor    %ebx,%ebx
478890:	e9 ba 05 00 00       	jmp    0x478e4f
478895:	8b 46 04             	mov    0x4(%esi),%eax
478898:	2d 01 02 00 00       	sub    $0x201,%eax
47889d:	74 09                	je     0x4788a8
47889f:	83 e8 03             	sub    $0x3,%eax
4788a2:	0f 85 eb 00 00 00    	jne    0x478993
4788a8:	8d 55 ef             	lea    -0x11(%ebp),%edx
4788ab:	8b 46 0c             	mov    0xc(%esi),%eax
4788ae:	e8 c1 f6 f8 ff       	call   0x407f74
4788b3:	8d 45 ef             	lea    -0x11(%ebp),%eax
4788b6:	50                   	push   %eax
4788b7:	8b 06                	mov    (%esi),%eax
4788b9:	50                   	push   %eax
4788ba:	e8 a1 ef f8 ff       	call   0x407860
4788bf:	8d 45 ef             	lea    -0x11(%ebp),%eax
4788c2:	b2 01                	mov    $0x1,%dl
4788c4:	e8 87 e7 fc ff       	call   0x447050
4788c9:	8b f8                	mov    %eax,%edi
4788cb:	8b c7                	mov    %edi,%eax
4788cd:	8b 15 7c 05 47 00    	mov    0x47057c,%edx
4788d3:	e8 2c b3 f8 ff       	call   0x403c04
4788d8:	84 c0                	test   %al,%al
4788da:	74 16                	je     0x4788f2
4788dc:	8b 97 14 02 00 00    	mov    0x214(%edi),%edx
4788e2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4788e5:	e8 d6 c2 ff ff       	call   0x474bc0
4788ea:	84 c0                	test   %al,%al
4788ec:	0f 85 a1 00 00 00    	jne    0x478993
4788f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4788f5:	80 78 70 00          	cmpb   $0x0,0x70(%eax)
4788f9:	75 43                	jne    0x47893e
4788fb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4788fe:	3b b8 c8 00 00 00    	cmp    0xc8(%eax),%edi
478904:	75 38                	jne    0x47893e
478906:	8d 4d b8             	lea    -0x48(%ebp),%ecx
478909:	8d 55 ef             	lea    -0x11(%ebp),%edx
47890c:	8b 45 fc             	mov    -0x4(%ebp),%eax
47890f:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
478915:	e8 f6 f9 fc ff       	call   0x448310
47891a:	ff 75 bc             	push   -0x44(%ebp)
47891d:	ff 75 b8             	push   -0x48(%ebp)
478920:	8d 55 a4             	lea    -0x5c(%ebp),%edx
478923:	8b 45 fc             	mov    -0x4(%ebp),%eax
478926:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
47892c:	8b 08                	mov    (%eax),%ecx
47892e:	ff 51 44             	call   *0x44(%ecx)
478931:	8d 45 a4             	lea    -0x5c(%ebp),%eax
478934:	50                   	push   %eax
478935:	e8 66 f3 f8 ff       	call   0x407ca0
47893a:	85 c0                	test   %eax,%eax
47893c:	75 0f                	jne    0x47894d
47893e:	e8 ad b9 f8 ff       	call   0x4042f0
478943:	e8 a8 b9 f8 ff       	call   0x4042f0
478948:	e9 a7 05 00 00       	jmp    0x478ef4
47894d:	81 7e 04 01 02 00 00 	cmpl   $0x201,0x4(%esi)
478954:	75 3d                	jne    0x478993
478956:	55                   	push   %ebp
478957:	8d 45 ef             	lea    -0x11(%ebp),%eax
47895a:	b2 01                	mov    $0x1,%dl
47895c:	e8 c3 fa ff ff       	call   0x478424
478961:	59                   	pop    %ecx
478962:	8b 45 fc             	mov    -0x4(%ebp),%eax
478965:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
47896b:	85 c0                	test   %eax,%eax
47896d:	74 15                	je     0x478984
47896f:	8b 55 fc             	mov    -0x4(%ebp),%edx
478972:	80 ba 88 00 00 00 00 	cmpb   $0x0,0x88(%edx)
478979:	74 09                	je     0x478984
47897b:	8b 40 1c             	mov    0x1c(%eax),%eax
47897e:	f6 40 64 10          	testb  $0x10,0x64(%eax)
478982:	74 0f                	je     0x478993
478984:	e8 67 b9 f8 ff       	call   0x4042f0
478989:	e8 62 b9 f8 ff       	call   0x4042f0
47898e:	e9 61 05 00 00       	jmp    0x478ef4
478993:	6a 03                	push   $0x3
478995:	6a 00                	push   $0x0
478997:	6a 00                	push   $0x0
478999:	6a 00                	push   $0x0
47899b:	56                   	push   %esi
47899c:	e8 e7 f2 f8 ff       	call   0x407c88
4789a1:	85 c0                	test   %eax,%eax
4789a3:	0f 84 a6 04 00 00    	je     0x478e4f
4789a9:	8b 46 04             	mov    0x4(%esi),%eax
4789ac:	8b d0                	mov    %eax,%edx
4789ae:	81 fa 13 01 00 00    	cmp    $0x113,%edx
4789b4:	7f 28                	jg     0x4789de
4789b6:	0f 84 ba 01 00 00    	je     0x478b76
4789bc:	83 ea 4d             	sub    $0x4d,%edx
4789bf:	0f 84 33 04 00 00    	je     0x478df8
4789c5:	83 ea 2e             	sub    $0x2e,%edx
4789c8:	0f 84 2a 04 00 00    	je     0x478df8
4789ce:	81 c2 7b ff ff ff    	add    $0xffffff7b,%edx
4789d4:	83 ea 09             	sub    $0x9,%edx
4789d7:	72 25                	jb     0x4789fe
4789d9:	e9 14 04 00 00       	jmp    0x478df2
4789de:	81 ea 18 01 00 00    	sub    $0x118,%edx
4789e4:	0f 84 0e 04 00 00    	je     0x478df8
4789ea:	81 c2 18 ff ff ff    	add    $0xffffff18,%edx
4789f0:	83 ea 0b             	sub    $0xb,%edx
4789f3:	0f 82 d9 01 00 00    	jb     0x478bd2
4789f9:	e9 f4 03 00 00       	jmp    0x478df2
4789fe:	a1 f4 6f 6a 00       	mov    0x6a6ff4,%eax
478a03:	8b 00                	mov    (%eax),%eax
478a05:	e8 ce 1e ff ff       	call   0x46a8d8
478a0a:	6a 01                	push   $0x1
478a0c:	e8 47 f0 f8 ff       	call   0x407a58
478a11:	66 85 c0             	test   %ax,%ax
478a14:	7c 16                	jl     0x478a2c
478a16:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
478a1a:	74 0c                	je     0x478a28
478a1c:	6a 02                	push   $0x2
478a1e:	e8 35 f0 f8 ff       	call   0x407a58
478a23:	66 85 c0             	test   %ax,%ax
478a26:	7c 04                	jl     0x478a2c
478a28:	33 c0                	xor    %eax,%eax
478a2a:	eb 02                	jmp    0x478a2e
478a2c:	b0 01                	mov    $0x1,%al
478a2e:	88 45 e6             	mov    %al,-0x1a(%ebp)
478a31:	8b 46 04             	mov    0x4(%esi),%eax
478a34:	2d 00 01 00 00       	sub    $0x100,%eax
478a39:	74 14                	je     0x478a4f
478a3b:	83 e8 02             	sub    $0x2,%eax
478a3e:	74 7f                	je     0x478abf
478a40:	83 e8 02             	sub    $0x2,%eax
478a43:	74 0a                	je     0x478a4f
478a45:	83 e8 02             	sub    $0x2,%eax
478a48:	74 75                	je     0x478abf
478a4a:	e9 a9 03 00 00       	jmp    0x478df8
478a4f:	81 7e 08 e5 00 00 00 	cmpl   $0xe5,0x8(%esi)
478a56:	75 0b                	jne    0x478a63
478a58:	8b 06                	mov    (%esi),%eax
478a5a:	50                   	push   %eax
478a5b:	e8 b4 83 fb ff       	call   0x430e14
478a60:	89 46 08             	mov    %eax,0x8(%esi)
478a63:	80 7d e6 00          	cmpb   $0x0,-0x1a(%ebp)
478a67:	74 0a                	je     0x478a73
478a69:	83 7e 08 70          	cmpl   $0x70,0x8(%esi)
478a6d:	0f 85 85 03 00 00    	jne    0x478df8
478a73:	66 8b 46 08          	mov    0x8(%esi),%ax
478a77:	66 89 45 e4          	mov    %ax,-0x1c(%ebp)
478a7b:	55                   	push   %ebp
478a7c:	8b 46 0c             	mov    0xc(%esi),%eax
478a7f:	e8 30 80 fe ff       	call   0x460ab4
478a84:	50                   	push   %eax
478a85:	55                   	push   %ebp
478a86:	e8 7d f9 ff ff       	call   0x478408
478a8b:	59                   	pop    %ecx
478a8c:	8d 55 e4             	lea    -0x1c(%ebp),%edx
478a8f:	59                   	pop    %ecx
478a90:	e8 6f fa ff ff       	call   0x478504
478a95:	59                   	pop    %ecx
478a96:	84 c0                	test   %al,%al
478a98:	74 0f                	je     0x478aa9
478a9a:	e8 51 b8 f8 ff       	call   0x4042f0
478a9f:	e8 4c b8 f8 ff       	call   0x4042f0
478aa4:	e9 4b 04 00 00       	jmp    0x478ef4
478aa9:	66 83 7d e4 00       	cmpw   $0x0,-0x1c(%ebp)
478aae:	0f 84 44 03 00 00    	je     0x478df8
478ab4:	56                   	push   %esi
478ab5:	e8 86 f3 f8 ff       	call   0x407e40
478aba:	e9 39 03 00 00       	jmp    0x478df8
478abf:	80 7d e6 00          	cmpb   $0x0,-0x1a(%ebp)
478ac3:	0f 85 2f 03 00 00    	jne    0x478df8
478ac9:	55                   	push   %ebp
478aca:	e8 39 f9 ff ff       	call   0x478408
478acf:	59                   	pop    %ecx
478ad0:	89 45 e8             	mov    %eax,-0x18(%ebp)
478ad3:	6a 00                	push   $0x0
478ad5:	8d 45 e7             	lea    -0x19(%ebp),%eax
478ad8:	50                   	push   %eax
478ad9:	8b 4e 08             	mov    0x8(%esi),%ecx
478adc:	8b 45 e8             	mov    -0x18(%ebp),%eax
478adf:	8b 90 ac 00 00 00    	mov    0xac(%eax),%edx
478ae5:	8b 45 e8             	mov    -0x18(%ebp),%eax
478ae8:	e8 47 f0 ff ff       	call   0x477b34
478aed:	89 45 dc             	mov    %eax,-0x24(%ebp)
478af0:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
478af4:	75 54                	jne    0x478b4a
478af6:	8b 46 08             	mov    0x8(%esi),%eax
478af9:	83 e8 20             	sub    $0x20,%eax
478afc:	74 05                	je     0x478b03
478afe:	83 e8 0d             	sub    $0xd,%eax
478b01:	75 3b                	jne    0x478b3e
478b03:	8b 45 fc             	mov    -0x4(%ebp),%eax
478b06:	80 78 70 00          	cmpb   $0x0,0x70(%eax)
478b0a:	75 32                	jne    0x478b3e
478b0c:	8b 45 e8             	mov    -0x18(%ebp),%eax
478b0f:	3b 45 fc             	cmp    -0x4(%ebp),%eax
478b12:	75 2a                	jne    0x478b3e
478b14:	e8 9f ee f8 ff       	call   0x4079b8
478b19:	85 c0                	test   %eax,%eax
478b1b:	74 21                	je     0x478b3e
478b1d:	e8 96 ee f8 ff       	call   0x4079b8
478b22:	8b d0                	mov    %eax,%edx
478b24:	8b 4e 08             	mov    0x8(%esi),%ecx
478b27:	8b 45 fc             	mov    -0x4(%ebp),%eax
478b2a:	e8 49 f5 ff ff       	call   0x478078
478b2f:	e8 bc b7 f8 ff       	call   0x4042f0
478b34:	e8 b7 b7 f8 ff       	call   0x4042f0
478b39:	e9 b6 03 00 00       	jmp    0x478ef4
478b3e:	6a 00                	push   $0x0
478b40:	e8 13 f1 f8 ff       	call   0x407c58
478b45:	e9 ae 02 00 00       	jmp    0x478df8
478b4a:	8b 55 dc             	mov    -0x24(%ebp),%edx
478b4d:	8b 45 e8             	mov    -0x18(%ebp),%eax
478b50:	e8 af cb ff ff       	call   0x475704
478b55:	8b 45 e8             	mov    -0x18(%ebp),%eax
478b58:	e8 97 f6 ff ff       	call   0x4781f4
478b5d:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
478b61:	0f 84 91 02 00 00    	je     0x478df8