473871:	52                   	push   %edx
473872:	56                   	push   %esi
473873:	ff 75 dc             	push   -0x24(%ebp)
473876:	50                   	push   %eax
473877:	ff 51 50             	call   *0x50(%ecx)
47387a:	8d 45 dc             	lea    -0x24(%ebp),%eax
47387d:	50                   	push   %eax
47387e:	e8 a0 06 00 00       	call   0x473f23
473883:	89 7d e4             	mov    %edi,-0x1c(%ebp)
473886:	8b 45 7c             	mov    0x7c(%ebp),%eax
473889:	3b c6                	cmp    %esi,%eax
47388b:	74 0d                	je     0x47389a
47388d:	8b 08                	mov    (%eax),%ecx
47388f:	8b 40 04             	mov    0x4(%eax),%eax
473892:	89 4d f0             	mov    %ecx,-0x10(%ebp)
473895:	89 45 f4             	mov    %eax,-0xc(%ebp)
473898:	eb 21                	jmp    0x4738bb
47389a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
47389d:	3b c6                	cmp    %esi,%eax
47389f:	74 14                	je     0x4738b5
4738a1:	8b 08                	mov    (%eax),%ecx
4738a3:	8d 55 f0             	lea    -0x10(%ebp),%edx
4738a6:	52                   	push   %edx
4738a7:	56                   	push   %esi
4738a8:	6a ff                	push   $0xffffffff
4738aa:	ff 75 70             	push   0x70(%ebp)
4738ad:	50                   	push   %eax
4738ae:	ff 51 24             	call   *0x24(%ecx)
4738b1:	85 c0                	test   %eax,%eax
4738b3:	74 06                	je     0x4738bb
4738b5:	89 75 f4             	mov    %esi,-0xc(%ebp)
4738b8:	89 75 f0             	mov    %esi,-0x10(%ebp)
4738bb:	8b 03                	mov    (%ebx),%eax
4738bd:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4738c0:	51                   	push   %ecx
4738c1:	ff 75 70             	push   0x70(%ebp)
4738c4:	53                   	push   %ebx
4738c5:	ff 50 58             	call   *0x58(%eax)
4738c8:	85 c0                	test   %eax,%eax
4738ca:	74 03                	je     0x4738cf
4738cc:	89 75 e0             	mov    %esi,-0x20(%ebp)
4738cf:	ff 75 6c             	push   0x6c(%ebp)
4738d2:	8d 75 4c             	lea    0x4c(%ebp),%esi
4738d5:	ff 75 f8             	push   -0x8(%ebp)
4738d8:	ff 75 e0             	push   -0x20(%ebp)
4738db:	ff 75 78             	push   0x78(%ebp)
4738de:	ff 75 74             	push   0x74(%ebp)
4738e1:	ff 75 f4             	push   -0xc(%ebp)
4738e4:	ff 75 f0             	push   -0x10(%ebp)
4738e7:	ff 75 70             	push   0x70(%ebp)
4738ea:	83 ec 10             	sub    $0x10,%esp
4738ed:	8b fc                	mov    %esp,%edi
4738ef:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4738f0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4738f1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4738f2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4738f3:	e8 42 fd ff ff       	call   0x47363a
4738f8:	ff 75 f8             	push   -0x8(%ebp)
4738fb:	8b 35 f0 0a 4b 00    	mov    0x4b0af0,%esi
473901:	8b f8                	mov    %eax,%edi
473903:	ff d6                	call   *%esi
473905:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
473909:	74 05                	je     0x473910
47390b:	ff 75 6c             	push   0x6c(%ebp)
47390e:	ff d6                	call   *%esi
473910:	8d 45 ec             	lea    -0x14(%ebp),%eax
473913:	50                   	push   %eax
473914:	e8 0a 06 00 00       	call   0x473f23
473919:	8d 45 d8             	lea    -0x28(%ebp),%eax
47391c:	50                   	push   %eax
47391d:	e8 01 06 00 00       	call   0x473f23
473922:	8d 45 d4             	lea    -0x2c(%ebp),%eax
473925:	50                   	push   %eax
473926:	e8 f8 05 00 00       	call   0x473f23
47392b:	8b c7                	mov    %edi,%eax
47392d:	8d 65 c8             	lea    -0x38(%ebp),%esp
473930:	8b 4d 5c             	mov    0x5c(%ebp),%ecx
473933:	e8 a6 42 fa ff       	call   0x417bde
473938:	5f                   	pop    %edi
473939:	5e                   	pop    %esi
47393a:	5b                   	pop    %ebx
47393b:	83 c5 60             	add    $0x60,%ebp
47393e:	c9                   	leave
47393f:	c2 18 00             	ret    $0x18
473942:	55                   	push   %ebp
473943:	8b ec                	mov    %esp,%ebp
473945:	83 ec 14             	sub    $0x14,%esp
473948:	53                   	push   %ebx
473949:	56                   	push   %esi
47394a:	57                   	push   %edi
47394b:	ff 15 fc 70 4a 00    	call   *0x4a70fc
473951:	89 45 f4             	mov    %eax,-0xc(%ebp)
473954:	8b 45 08             	mov    0x8(%ebp),%eax
473957:	66 8b 08             	mov    (%eax),%cx
47395a:	33 d2                	xor    %edx,%edx
47395c:	66 3b ca             	cmp    %dx,%cx
47395f:	75 04                	jne    0x473965
473961:	33 db                	xor    %ebx,%ebx
473963:	eb 05                	jmp    0x47396a
473965:	0f b7 d9             	movzwl %cx,%ebx
473968:	03 d8                	add    %eax,%ebx
47396a:	66 8b 48 02          	mov    0x2(%eax),%cx
47396e:	66 3b ca             	cmp    %dx,%cx
473971:	75 05                	jne    0x473978
473973:	89 55 08             	mov    %edx,0x8(%ebp)
473976:	eb 08                	jmp    0x473980
473978:	0f b7 c9             	movzwl %cx,%ecx
47397b:	03 c8                	add    %eax,%ecx
47397d:	89 4d 08             	mov    %ecx,0x8(%ebp)
473980:	66 8b 48 04          	mov    0x4(%eax),%cx
473984:	66 3b ca             	cmp    %dx,%cx
473987:	75 05                	jne    0x47398e
473989:	89 55 fc             	mov    %edx,-0x4(%ebp)
47398c:	eb 08                	jmp    0x473996
47398e:	0f b7 c9             	movzwl %cx,%ecx
473991:	03 c8                	add    %eax,%ecx
473993:	89 4d fc             	mov    %ecx,-0x4(%ebp)
473996:	3b da                	cmp    %edx,%ebx
473998:	8b 3d 88 03 4b 00    	mov    0x4b0388,%edi
47399e:	75 05                	jne    0x4739a5
4739a0:	89 55 f8             	mov    %edx,-0x8(%ebp)
4739a3:	eb 24                	jmp    0x4739c9
4739a5:	53                   	push   %ebx
4739a6:	ff d7                	call   *%edi
4739a8:	8b f0                	mov    %eax,%esi
4739aa:	46                   	inc    %esi
4739ab:	8d 04 36             	lea    (%esi,%esi,1),%eax
4739ae:	83 c0 03             	add    $0x3,%eax
4739b1:	83 e0 fc             	and    $0xfffffffc,%eax
4739b4:	e8 37 2d fa ff       	call   0x4166f0
4739b9:	8b c4                	mov    %esp,%eax
4739bb:	ff 75 f4             	push   -0xc(%ebp)
4739be:	56                   	push   %esi
4739bf:	53                   	push   %ebx
4739c0:	50                   	push   %eax
4739c1:	e8 f2 29 f9 ff       	call   0x4063b8
4739c6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4739c9:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4739cd:	75 06                	jne    0x4739d5
4739cf:	83 65 08 00          	andl   $0x0,0x8(%ebp)
4739d3:	eb 28                	jmp    0x4739fd
4739d5:	ff 75 08             	push   0x8(%ebp)
4739d8:	ff d7                	call   *%edi
4739da:	8b f0                	mov    %eax,%esi
4739dc:	46                   	inc    %esi
4739dd:	8d 04 36             	lea    (%esi,%esi,1),%eax
4739e0:	83 c0 03             	add    $0x3,%eax
4739e3:	83 e0 fc             	and    $0xfffffffc,%eax
4739e6:	e8 05 2d fa ff       	call   0x4166f0
4739eb:	8b c4                	mov    %esp,%eax
4739ed:	ff 75 f4             	push   -0xc(%ebp)
4739f0:	56                   	push   %esi
4739f1:	ff 75 08             	push   0x8(%ebp)
4739f4:	50                   	push   %eax
4739f5:	e8 be 29 f9 ff       	call   0x4063b8
4739fa:	89 45 08             	mov    %eax,0x8(%ebp)
4739fd:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
473a01:	75 06                	jne    0x473a09
473a03:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
473a07:	eb 28                	jmp    0x473a31
473a09:	ff 75 fc             	push   -0x4(%ebp)
473a0c:	ff d7                	call   *%edi
473a0e:	8b f0                	mov    %eax,%esi
473a10:	46                   	inc    %esi
473a11:	8d 04 36             	lea    (%esi,%esi,1),%eax
473a14:	83 c0 03             	add    $0x3,%eax
473a17:	83 e0 fc             	and    $0xfffffffc,%eax
473a1a:	e8 d1 2c fa ff       	call   0x4166f0
473a1f:	8b c4                	mov    %esp,%eax
473a21:	ff 75 f4             	push   -0xc(%ebp)
473a24:	56                   	push   %esi
473a25:	ff 75 fc             	push   -0x4(%ebp)
473a28:	50                   	push   %eax
473a29:	e8 8a 29 f9 ff       	call   0x4063b8
473a2e:	89 45 fc             	mov    %eax,-0x4(%ebp)
473a31:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
473a35:	8b 35 90 03 4b 00    	mov    0x4b0390,%esi
473a3b:	75 06                	jne    0x473a43
473a3d:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
473a41:	eb 0c                	jmp    0x473a4f
473a43:	ff 75 f8             	push   -0x8(%ebp)
473a46:	ff d6                	call   *%esi
473a48:	8d 44 00 02          	lea    0x2(%eax,%eax,1),%eax
473a4c:	89 45 f4             	mov    %eax,-0xc(%ebp)
473a4f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
473a53:	75 06                	jne    0x473a5b
473a55:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
473a59:	eb 0c                	jmp    0x473a67
473a5b:	ff 75 08             	push   0x8(%ebp)
473a5e:	ff d6                	call   *%esi
473a60:	8d 44 00 02          	lea    0x2(%eax,%eax,1),%eax
473a64:	89 45 f0             	mov    %eax,-0x10(%ebp)
473a67:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
473a6b:	75 06                	jne    0x473a73
473a6d:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
473a71:	eb 0c                	jmp    0x473a7f
473a73:	ff 75 fc             	push   -0x4(%ebp)
473a76:	ff d6                	call   *%esi
473a78:	8d 44 00 02          	lea    0x2(%eax,%eax,1),%eax
473a7c:	89 45 ec             	mov    %eax,-0x14(%ebp)
473a7f:	8b 75 0c             	mov    0xc(%ebp),%esi
473a82:	85 f6                	test   %esi,%esi
473a84:	75 04                	jne    0x473a8a
473a86:	33 ff                	xor    %edi,%edi
473a88:	eb 1e                	jmp    0x473aa8
473a8a:	0f b7 46 26          	movzwl 0x26(%esi),%eax
473a8e:	05 df 00 00 00       	add    $0xdf,%eax
473a93:	83 e0 fc             	and    $0xfffffffc,%eax
473a96:	e8 55 2c fa ff       	call   0x4166f0
473a9b:	8b c4                	mov    %esp,%eax
473a9d:	56                   	push   %esi
473a9e:	50                   	push   %eax
473a9f:	e8 0e 2a f9 ff       	call   0x4064b2
473aa4:	59                   	pop    %ecx
473aa5:	59                   	pop    %ecx
473aa6:	8b f8                	mov    %eax,%edi
473aa8:	0f b7 47 44          	movzwl 0x44(%edi),%eax
473aac:	0f b7 4f 46          	movzwl 0x46(%edi),%ecx
473ab0:	03 45 ec             	add    -0x14(%ebp),%eax
473ab3:	03 c8                	add    %eax,%ecx
473ab5:	03 4d f0             	add    -0x10(%ebp),%ecx
473ab8:	8b 45 f4             	mov    -0xc(%ebp),%eax
473abb:	8d 5c 01 10          	lea    0x10(%ecx,%eax,1),%ebx
473abf:	53                   	push   %ebx
473ac0:	ff 15 18 0b 4b 00    	call   *0x4b0b18
473ac6:	8b f0                	mov    %eax,%esi
473ac8:	85 f6                	test   %esi,%esi
473aca:	74 6e                	je     0x473b3a
473acc:	ff 75 f8             	push   -0x8(%ebp)
473acf:	8d 46 10             	lea    0x10(%esi),%eax
473ad2:	50                   	push   %eax
473ad3:	89 1e                	mov    %ebx,(%esi)
473ad5:	66 c7 46 04 10 00    	movw   $0x10,0x4(%esi)
473adb:	e8 52 29 f9 ff       	call   0x406432
473ae0:	66 8b 46 04          	mov    0x4(%esi),%ax
473ae4:	66 03 45 f4          	add    -0xc(%ebp),%ax
473ae8:	ff 75 08             	push   0x8(%ebp)
473aeb:	66 89 46 06          	mov    %ax,0x6(%esi)
473aef:	0f b7 c0             	movzwl %ax,%eax
473af2:	03 c6                	add    %esi,%eax
473af4:	50                   	push   %eax
473af5:	e8 38 29 f9 ff       	call   0x406432
473afa:	66 8b 46 06          	mov    0x6(%esi),%ax
473afe:	66 03 45 f0          	add    -0x10(%ebp),%ax
473b02:	ff 75 fc             	push   -0x4(%ebp)
473b05:	66 89 46 08          	mov    %ax,0x8(%esi)
473b09:	0f b7 c0             	movzwl %ax,%eax
473b0c:	03 c6                	add    %esi,%eax
473b0e:	50                   	push   %eax
473b0f:	e8 1e 29 f9 ff       	call   0x406432
473b14:	66 8b 46 08          	mov    0x8(%esi),%ax
473b18:	66 03 45 ec          	add    -0x14(%ebp),%ax
473b1c:	66 89 46 0a          	mov    %ax,0xa(%esi)
473b20:	0f b7 4f 46          	movzwl 0x46(%edi),%ecx
473b24:	81 c1 dc 00 00 00    	add    $0xdc,%ecx
473b2a:	0f b7 c0             	movzwl %ax,%eax
473b2d:	51                   	push   %ecx
473b2e:	03 c6                	add    %esi,%eax
473b30:	57                   	push   %edi
473b31:	50                   	push   %eax
473b32:	e8 39 3d fa ff       	call   0x417870
473b37:	83 c4 24             	add    $0x24,%esp
473b3a:	8b c6                	mov    %esi,%eax
473b3c:	8d 65 e0             	lea    -0x20(%ebp),%esp
473b3f:	5f                   	pop    %edi
473b40:	5e                   	pop    %esi
473b41:	5b                   	pop    %ebx
473b42:	c9                   	leave
473b43:	c2 08 00             	ret    $0x8
473b46:	53                   	push   %ebx
473b47:	56                   	push   %esi
473b48:	8b 74 24 0c          	mov    0xc(%esp),%esi
473b4c:	57                   	push   %edi
473b4d:	ff 76 0c             	push   0xc(%esi)
473b50:	8b 3d 40 03 4b 00    	mov    0x4b0340,%edi
473b56:	ff d7                	call   *%edi
473b58:	8b d8                	mov    %eax,%ebx
473b5a:	85 db                	test   %ebx,%ebx
473b5c:	74 12                	je     0x473b70
473b5e:	ff 76 08             	push   0x8(%esi)
473b61:	ff d7                	call   *%edi
473b63:	85 c0                	test   %eax,%eax
473b65:	75 0d                	jne    0x473b74
473b67:	ff 76 0c             	push   0xc(%esi)
473b6a:	ff 15 44 03 4b 00    	call   *0x4b0344
473b70:	33 c0                	xor    %eax,%eax
473b72:	eb 1b                	jmp    0x473b8f
473b74:	50                   	push   %eax
473b75:	53                   	push   %ebx
473b76:	e8 c7 fd ff ff       	call   0x473942
473b7b:	ff 76 0c             	push   0xc(%esi)
473b7e:	8b 3d 44 03 4b 00    	mov    0x4b0344,%edi
473b84:	8b d8                	mov    %eax,%ebx
473b86:	ff d7                	call   *%edi
473b88:	ff 76 08             	push   0x8(%esi)
473b8b:	ff d7                	call   *%edi
473b8d:	8b c3                	mov    %ebx,%eax
473b8f:	5f                   	pop    %edi
473b90:	5e                   	pop    %esi
473b91:	5b                   	pop    %ebx
473b92:	c2 04 00             	ret    $0x4
473b95:	55                   	push   %ebp
473b96:	8b ec                	mov    %esp,%ebp
473b98:	83 ec 0c             	sub    $0xc,%esp
473b9b:	53                   	push   %ebx
473b9c:	56                   	push   %esi
473b9d:	57                   	push   %edi
473b9e:	ff 15 fc 70 4a 00    	call   *0x4a70fc
473ba4:	89 45 fc             	mov    %eax,-0x4(%ebp)
473ba7:	8b 45 08             	mov    0x8(%ebp),%eax
473baa:	33 f6                	xor    %esi,%esi
473bac:	3b c6                	cmp    %esi,%eax
473bae:	75 0d                	jne    0x473bbd
473bb0:	56                   	push   %esi
473bb1:	56                   	push   %esi
473bb2:	56                   	push   %esi
473bb3:	68 e8 9b 48 00       	push   $0x489be8
473bb8:	e9 df 00 00 00       	jmp    0x473c9c
473bbd:	66 8b 48 0a          	mov    0xa(%eax),%cx
473bc1:	66 3b ce             	cmp    %si,%cx
473bc4:	74 05                	je     0x473bcb
473bc6:	0f b7 f1             	movzwl %cx,%esi
473bc9:	03 f0                	add    %eax,%esi
473bcb:	0f b7 48 04          	movzwl 0x4(%eax),%ecx
473bcf:	0f b7 58 06          	movzwl 0x6(%eax),%ebx
473bd3:	0f b7 78 08          	movzwl 0x8(%eax),%edi
473bd7:	03 c8                	add    %eax,%ecx
473bd9:	03 d8                	add    %eax,%ebx
473bdb:	03 f8                	add    %eax,%edi
473bdd:	85 f6                	test   %esi,%esi
473bdf:	89 4d 08             	mov    %ecx,0x8(%ebp)
473be2:	75 05                	jne    0x473be9
473be4:	21 75 f8             	and    %esi,-0x8(%ebp)
473be7:	eb 1d                	jmp    0x473c06
473be9:	0f b7 46 46          	movzwl 0x46(%esi),%eax
473bed:	05 9f 00 00 00       	add    $0x9f,%eax
473bf2:	83 e0 fc             	and    $0xfffffffc,%eax
473bf5:	e8 f6 2a fa ff       	call   0x4166f0
473bfa:	8b c4                	mov    %esp,%eax
473bfc:	56                   	push   %esi
473bfd:	50                   	push   %eax
473bfe:	e8 4d 29 f9 ff       	call   0x406550
473c03:	89 45 f8             	mov    %eax,-0x8(%ebp)
473c06:	85 ff                	test   %edi,%edi
473c08:	8b 35 90 03 4b 00    	mov    0x4b0390,%esi
473c0e:	75 06                	jne    0x473c16
473c10:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
473c14:	eb 27                	jmp    0x473c3d
473c16:	57                   	push   %edi
473c17:	ff d6                	call   *%esi