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
473c19:	8d 44 00 02          	lea    0x2(%eax,%eax,1),%eax
473c1d:	89 45 f4             	mov    %eax,-0xc(%ebp)
473c20:	83 c0 03             	add    $0x3,%eax
473c23:	83 e0 fc             	and    $0xfffffffc,%eax
473c26:	e8 c5 2a fa ff       	call   0x4166f0
473c2b:	8b c4                	mov    %esp,%eax
473c2d:	ff 75 fc             	push   -0x4(%ebp)
473c30:	ff 75 f4             	push   -0xc(%ebp)
473c33:	57                   	push   %edi
473c34:	50                   	push   %eax
473c35:	e8 b5 27 f9 ff       	call   0x4063ef
473c3a:	89 45 f4             	mov    %eax,-0xc(%ebp)
473c3d:	85 db                	test   %ebx,%ebx
473c3f:	75 04                	jne    0x473c45
473c41:	33 ff                	xor    %edi,%edi
473c43:	eb 23                	jmp    0x473c68
473c45:	53                   	push   %ebx
473c46:	ff d6                	call   *%esi
473c48:	8d 7c 00 02          	lea    0x2(%eax,%eax,1),%edi
473c4c:	8b c7                	mov    %edi,%eax
473c4e:	83 c0 03             	add    $0x3,%eax
473c51:	83 e0 fc             	and    $0xfffffffc,%eax
473c54:	e8 97 2a fa ff       	call   0x4166f0
473c59:	8b c4                	mov    %esp,%eax
473c5b:	ff 75 fc             	push   -0x4(%ebp)
473c5e:	57                   	push   %edi
473c5f:	53                   	push   %ebx
473c60:	50                   	push   %eax
473c61:	e8 89 27 f9 ff       	call   0x4063ef
473c66:	8b f8                	mov    %eax,%edi
473c68:	33 c0                	xor    %eax,%eax
473c6a:	39 45 08             	cmp    %eax,0x8(%ebp)
473c6d:	74 25                	je     0x473c94
473c6f:	ff 75 08             	push   0x8(%ebp)
473c72:	ff d6                	call   *%esi
473c74:	8d 74 00 02          	lea    0x2(%eax,%eax,1),%esi
473c78:	8b c6                	mov    %esi,%eax
473c7a:	83 c0 03             	add    $0x3,%eax
473c7d:	83 e0 fc             	and    $0xfffffffc,%eax
473c80:	e8 6b 2a fa ff       	call   0x4166f0
473c85:	8b c4                	mov    %esp,%eax
473c87:	ff 75 fc             	push   -0x4(%ebp)
473c8a:	56                   	push   %esi
473c8b:	ff 75 08             	push   0x8(%ebp)
473c8e:	50                   	push   %eax
473c8f:	e8 5b 27 f9 ff       	call   0x4063ef
473c94:	ff 75 f8             	push   -0x8(%ebp)
473c97:	ff 75 f4             	push   -0xc(%ebp)
473c9a:	57                   	push   %edi
473c9b:	50                   	push   %eax
473c9c:	ff 15 ac 00 4b 00    	call   *0x4b00ac
473ca2:	8d 65 e8             	lea    -0x18(%ebp),%esp
473ca5:	5f                   	pop    %edi
473ca6:	5e                   	pop    %esi
473ca7:	5b                   	pop    %ebx
473ca8:	c9                   	leave
473ca9:	c2 04 00             	ret    $0x4
473cac:	b8 e4 24 48 00       	mov    $0x4824e4,%eax
473cb1:	e8 c6 3f fa ff       	call   0x417c7c
473cb6:	81 ec 24 01 00 00    	sub    $0x124,%esp
473cbc:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
473cc1:	56                   	push   %esi
473cc2:	ff 75 0c             	push   0xc(%ebp)
473cc5:	33 f6                	xor    %esi,%esi
473cc7:	89 45 f0             	mov    %eax,-0x10(%ebp)
473cca:	89 b5 d8 fe ff ff    	mov    %esi,-0x128(%ebp)
473cd0:	89 b5 d4 fe ff ff    	mov    %esi,-0x12c(%ebp)
473cd6:	ff 15 74 08 4b 00    	call   *0x4b0874
473cdc:	83 7d 14 01          	cmpl   $0x1,0x14(%ebp)
473ce0:	89 85 d0 fe ff ff    	mov    %eax,-0x130(%ebp)
473ce6:	89 b5 e8 fe ff ff    	mov    %esi,-0x118(%ebp)
473cec:	89 b5 ec fe ff ff    	mov    %esi,-0x114(%ebp)
473cf2:	75 0b                	jne    0x473cff
473cf4:	8b 4d 10             	mov    0x10(%ebp),%ecx
473cf7:	8b 09                	mov    (%ecx),%ecx
473cf9:	89 8d ec fe ff ff    	mov    %ecx,-0x114(%ebp)
473cff:	3b c6                	cmp    %esi,%eax
473d01:	89 b5 e4 fe ff ff    	mov    %esi,-0x11c(%ebp)
473d07:	0f 8e c6 01 00 00    	jle    0x473ed3
473d0d:	53                   	push   %ebx
473d0e:	be 00 04 00 00       	mov    $0x400,%esi
473d13:	57                   	push   %edi
473d14:	ff b5 e4 fe ff ff    	push   -0x11c(%ebp)
473d1a:	ff 75 0c             	push   0xc(%ebp)
473d1d:	ff 15 78 08 4b 00    	call   *0x4b0878
473d23:	56                   	push   %esi
473d24:	ff b5 e4 fe ff ff    	push   -0x11c(%ebp)
473d2a:	8b f8                	mov    %eax,%edi
473d2c:	ff 75 0c             	push   0xc(%ebp)
473d2f:	ff 15 64 08 4b 00    	call   *0x4b0864
473d35:	8b d8                	mov    %eax,%ebx
473d37:	33 c0                	xor    %eax,%eax
473d39:	3b f8                	cmp    %eax,%edi
473d3b:	75 33                	jne    0x473d70
473d3d:	f6 c7 08             	test   $0x8,%bh
473d40:	74 2e                	je     0x473d70
473d42:	8b 55 14             	mov    0x14(%ebp),%edx
473d45:	83 fa 05             	cmp    $0x5,%edx
473d48:	8b 4d 10             	mov    0x10(%ebp),%ecx
473d4b:	8b bd e8 fe ff ff    	mov    -0x118(%ebp),%edi
473d51:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
473d54:	89 39                	mov    %edi,(%ecx)
473d56:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
473d5c:	7d 09                	jge    0x473d67
473d5e:	8b 41 04             	mov    0x4(%ecx),%eax
473d61:	01 85 ec fe ff ff    	add    %eax,-0x114(%ebp)
473d67:	83 45 14 02          	addl   $0x2,0x14(%ebp)
473d6b:	e9 40 01 00 00       	jmp    0x473eb0
473d70:	39 45 18             	cmp    %eax,0x18(%ebp)
473d73:	89 85 dc fe ff ff    	mov    %eax,-0x124(%ebp)
473d79:	74 24                	je     0x473d9f
473d7b:	83 7d 14 05          	cmpl   $0x5,0x14(%ebp)
473d7f:	75 1e                	jne    0x473d9f
473d81:	8b 45 10             	mov    0x10(%ebp),%eax
473d84:	83 78 14 01          	cmpl   $0x1,0x14(%eax)
473d88:	75 15                	jne    0x473d9f
473d8a:	ff b5 ec fe ff ff    	push   -0x114(%ebp)
473d90:	ff 75 08             	push   0x8(%ebp)
473d93:	ff 15 78 08 4b 00    	call   *0x4b0878
473d99:	89 85 dc fe ff ff    	mov    %eax,-0x124(%ebp)
473d9f:	56                   	push   %esi
473da0:	68 00 01 00 00       	push   $0x100
473da5:	8d 85 f0 fe ff ff    	lea    -0x110(%ebp),%eax
473dab:	50                   	push   %eax
473dac:	ff b5 e4 fe ff ff    	push   -0x11c(%ebp)
473db2:	ff 75 0c             	push   0xc(%ebp)
473db5:	ff 15 68 08 4b 00    	call   *0x4b0868
473dbb:	85 ff                	test   %edi,%edi
473dbd:	0f 84 b4 00 00 00    	je     0x473e77
473dc3:	83 bd dc fe ff ff 00 	cmpl   $0x0,-0x124(%ebp)
473dca:	0f 84 89 00 00 00    	je     0x473e59
473dd0:	e8 2c 9b ff ff       	call   0x46d901
473dd5:	ff 70 10             	push   0x10(%eax)
473dd8:	8d 8d e0 fe ff ff    	lea    -0x120(%ebp),%ecx
473dde:	e8 b1 d4 f8 ff       	call   0x401294
473de3:	8b 85 e0 fe ff ff    	mov    -0x120(%ebp),%eax
473de9:	33 db                	xor    %ebx,%ebx
473deb:	39 58 f4             	cmp    %ebx,-0xc(%eax)
473dee:	89 5d fc             	mov    %ebx,-0x4(%ebp)
473df1:	74 0d                	je     0x473e00
473df3:	6a 20                	push   $0x20
473df5:	8d 8d e0 fe ff ff    	lea    -0x120(%ebp),%ecx
473dfb:	e8 13 28 f9 ff       	call   0x406613
473e00:	8d 85 f0 fe ff ff    	lea    -0x110(%ebp),%eax
473e06:	50                   	push   %eax
473e07:	8d 8d e0 fe ff ff    	lea    -0x120(%ebp),%ecx
473e0d:	e8 dd 7b ff ff       	call   0x46b9ef
473e12:	ff b5 e0 fe ff ff    	push   -0x120(%ebp)
473e18:	57                   	push   %edi
473e19:	6a 10                	push   $0x10
473e1b:	ff b5 dc fe ff ff    	push   -0x124(%ebp)
473e21:	ff 15 9c 08 4b 00    	call   *0x4b089c
473e27:	8b 4d 14             	mov    0x14(%ebp),%ecx
473e2a:	8b 45 10             	mov    0x10(%ebp),%eax
473e2d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
473e31:	8d 04 88             	lea    (%eax,%ecx,4),%eax
473e34:	8b 8d e0 fe ff ff    	mov    -0x120(%ebp),%ecx
473e3a:	ff 40 fc             	incl   -0x4(%eax)
473e3d:	83 c1 f0             	add    $0xfffffff0,%ecx
473e40:	89 18                	mov    %ebx,(%eax)
473e42:	c7 85 d8 fe ff ff 01 	movl   $0x1,-0x128(%ebp)
473e49:	00 00 00
473e4c:	89 bd d4 fe ff ff    	mov    %edi,-0x12c(%ebp)
473e52:	e8 fb d4 f8 ff       	call   0x401352
473e57:	eb 57                	jmp    0x473eb0
473e59:	57                   	push   %edi
473e5a:	ff 15 74 08 4b 00    	call   *0x4b0874
473e60:	85 c0                	test   %eax,%eax
473e62:	74 4c                	je     0x473eb0
473e64:	8d 85 f0 fe ff ff    	lea    -0x110(%ebp),%eax
473e6a:	50                   	push   %eax
473e6b:	0f b6 c3             	movzbl %bl,%eax
473e6e:	57                   	push   %edi
473e6f:	0d 10 04 00 00       	or     $0x410,%eax
473e74:	50                   	push   %eax