474961:	83 c4 04             	add    $0x4,%esp
474964:	8b 5d f0             	mov    -0x10(%ebp),%ebx
474967:	85 db                	test   %ebx,%ebx
474969:	74 09                	je     0x474974
47496b:	53                   	push   %ebx
47496c:	e8 33 bc 02 00       	call   0x4a05a4
474971:	83 c4 04             	add    $0x4,%esp
474974:	8b 45 fc             	mov    -0x4(%ebp),%eax
474977:	e9 f8 00 00 00       	jmp    0x474a74
47497c:	e9 9c 00 00 00       	jmp    0x474a1d
474981:	81 7d 0c 80 00 00 00 	cmpl   $0x80,0xc(%ebp)
474988:	0f 85 30 00 00 00    	jne    0x4749be
47498e:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
474992:	0f 85 21 00 00 00    	jne    0x4749b9
474998:	8b 5d 08             	mov    0x8(%ebp),%ebx
47499b:	8b 1b                	mov    (%ebx),%ebx
47499d:	81 c3 e8 00 00 00    	add    $0xe8,%ebx
4749a3:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4749a6:	ff 75 14             	push   0x14(%ebp)
4749a9:	ff 75 f8             	push   -0x8(%ebp)
4749ac:	8b 04 24             	mov    (%esp),%eax
4749af:	8b 00                	mov    (%eax),%eax
4749b1:	8b 00                	mov    (%eax),%eax
4749b3:	ff 90 7c 01 00 00    	call   *0x17c(%eax)
4749b9:	e9 5f 00 00 00       	jmp    0x474a1d
4749be:	81 7d 0c 94 4e 00 00 	cmpl   $0x4e94,0xc(%ebp)
4749c5:	0f 85 1d 00 00 00    	jne    0x4749e8
4749cb:	ff 75 14             	push   0x14(%ebp)
4749ce:	ff 75 10             	push   0x10(%ebp)
4749d1:	ff 75 08             	push   0x8(%ebp)
4749d4:	8b 04 24             	mov    (%esp),%eax
4749d7:	8b 00                	mov    (%eax),%eax
4749d9:	8b 00                	mov    (%eax),%eax
4749db:	ff 50 78             	call   *0x78(%eax)
4749de:	e9 91 00 00 00       	jmp    0x474a74
4749e3:	e9 35 00 00 00       	jmp    0x474a1d
4749e8:	81 7d 0c 06 01 00 00 	cmpl   $0x106,0xc(%ebp)
4749ef:	0f 85 28 00 00 00    	jne    0x474a1d
4749f5:	ff 75 14             	push   0x14(%ebp)
4749f8:	ff 75 10             	push   0x10(%ebp)
4749fb:	ff 75 0c             	push   0xc(%ebp)
4749fe:	ff 75 08             	push   0x8(%ebp)
474a01:	8b 04 24             	mov    (%esp),%eax
474a04:	8b 00                	mov    (%eax),%eax
474a06:	8b 00                	mov    (%eax),%eax
474a08:	ff 50 70             	call   *0x70(%eax)
474a0b:	85 c0                	test   %eax,%eax
474a0d:	0f 84 0a 00 00 00    	je     0x474a1d
474a13:	b8 00 00 00 00       	mov    $0x0,%eax
474a18:	e9 57 00 00 00       	jmp    0x474a74
474a1d:	8b 5d 08             	mov    0x8(%ebp),%ebx
474a20:	8b 1b                	mov    (%ebx),%ebx
474a22:	83 c3 14             	add    $0x14,%ebx
474a25:	89 5d f8             	mov    %ebx,-0x8(%ebp)
474a28:	8b 5d 08             	mov    0x8(%ebp),%ebx
474a2b:	8b 1b                	mov    (%ebx),%ebx
474a2d:	83 c3 08             	add    $0x8,%ebx
474a30:	89 5d f4             	mov    %ebx,-0xc(%ebp)
474a33:	89 65 f0             	mov    %esp,-0x10(%ebp)
474a36:	ff 75 14             	push   0x14(%ebp)
474a39:	ff 75 10             	push   0x10(%ebp)
474a3c:	ff 75 0c             	push   0xc(%ebp)
474a3f:	8b 5d f4             	mov    -0xc(%ebp),%ebx
474a42:	ff 33                	push   (%ebx)
474a44:	8b 5d f8             	mov    -0x8(%ebp),%ebx
474a47:	ff 33                	push   (%ebx)
474a49:	33 c0                	xor    %eax,%eax
474a4b:	ff 15 5c 32 4b 00    	call   *0x4b325c
474a51:	90                   	nop
474a52:	90                   	nop
474a53:	39 65 f0             	cmp    %esp,-0x10(%ebp)
474a56:	74 17                	je     0x474a6f
474a58:	68 6b 24 00 00       	push   $0x246b
474a5d:	68 87 cf 03 04       	push   $0x403cf87
474a62:	68 06 00 00 00       	push   $0x6
474a67:	e8 3e bb 02 00       	call   0x4a05aa
474a6c:	83 c4 0c             	add    $0xc,%esp
474a6f:	e9 00 00 00 00       	jmp    0x474a74
474a74:	8b e5                	mov    %ebp,%esp
474a76:	5d                   	pop    %ebp
474a77:	c2 10 00             	ret    $0x10
474a7a:	55                   	push   %ebp
474a7b:	8b ec                	mov    %esp,%ebp
474a7d:	81 ec 28 00 00 00    	sub    $0x28,%esp
474a83:	68 08 00 00 00       	push   $0x8
474a88:	e8 11 bb 02 00       	call   0x4a059e
474a8d:	83 c4 04             	add    $0x4,%esp
474a90:	89 45 fc             	mov    %eax,-0x4(%ebp)
474a93:	8b d8                	mov    %eax,%ebx
474a95:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
474a9b:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
474aa2:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
474aa9:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
474ab0:	89 65 f0             	mov    %esp,-0x10(%ebp)
474ab3:	ff 75 fc             	push   -0x4(%ebp)
474ab6:	33 c0                	xor    %eax,%eax
474ab8:	ff 15 58 32 4b 00    	call   *0x4b3258
474abe:	90                   	nop
474abf:	90                   	nop
474ac0:	39 65 f0             	cmp    %esp,-0x10(%ebp)
474ac3:	74 17                	je     0x474adc
474ac5:	68 00 00 00 00       	push   $0x0
474aca:	68 2b d3 03 04       	push   $0x403d32b
474acf:	68 06 00 00 00       	push   $0x6
474ad4:	e8 d1 ba 02 00       	call   0x4a05aa
474ad9:	83 c4 0c             	add    $0xc,%esp
474adc:	8b 5d fc             	mov    -0x4(%ebp),%ebx
474adf:	89 5d f0             	mov    %ebx,-0x10(%ebp)
474ae2:	8b 5d fc             	mov    -0x4(%ebp),%ebx
474ae5:	83 c3 04             	add    $0x4,%ebx
474ae8:	89 5d ec             	mov    %ebx,-0x14(%ebp)
474aeb:	89 65 e8             	mov    %esp,-0x18(%ebp)
474aee:	8b 5d ec             	mov    -0x14(%ebp),%ebx
474af1:	ff 33                	push   (%ebx)
474af3:	8b 5d f0             	mov    -0x10(%ebp),%ebx
474af6:	ff 33                	push   (%ebx)
474af8:	33 c0                	xor    %eax,%eax
474afa:	ff 15 24 9b 50 00    	call   *0x509b24
474b00:	90                   	nop
474b01:	90                   	nop
474b02:	39 65 e8             	cmp    %esp,-0x18(%ebp)
474b05:	74 17                	je     0x474b1e
474b07:	68 45 00 00 00       	push   $0x45
474b0c:	68 2b d3 03 04       	push   $0x403d32b
474b11:	68 06 00 00 00       	push   $0x6
474b16:	e8 8f ba 02 00       	call   0x4a05aa
474b1b:	83 c4 0c             	add    $0xc,%esp
474b1e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
474b21:	8b 5d fc             	mov    -0x4(%ebp),%ebx
474b24:	89 5d e0             	mov    %ebx,-0x20(%ebp)
474b27:	8b 5d fc             	mov    -0x4(%ebp),%ebx
474b2a:	83 c3 04             	add    $0x4,%ebx
474b2d:	89 5d dc             	mov    %ebx,-0x24(%ebp)
474b30:	6a 01                	push   $0x1
474b32:	8b 5d dc             	mov    -0x24(%ebp),%ebx
474b35:	ff 33                	push   (%ebx)
474b37:	6a 01                	push   $0x1
474b39:	8b 5d e0             	mov    -0x20(%ebp),%ebx
474b3c:	ff 33                	push   (%ebx)
474b3e:	ff 75 e4             	push   -0x1c(%ebp)
474b41:	e8 97 00 00 00       	call   0x474bdd
474b46:	89 45 f8             	mov    %eax,-0x8(%ebp)
474b49:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
474b4d:	0f 84 4b 00 00 00    	je     0x474b9e
474b53:	68 0c 00 00 00       	push   $0xc
474b58:	ff 75 f8             	push   -0x8(%ebp)
474b5b:	e8 9b 33 fa ff       	call   0x417efb
474b60:	89 45 f4             	mov    %eax,-0xc(%ebp)
474b63:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
474b67:	0f 84 31 00 00 00    	je     0x474b9e
474b6d:	89 65 f0             	mov    %esp,-0x10(%ebp)
474b70:	ff 75 f4             	push   -0xc(%ebp)
474b73:	33 c0                	xor    %eax,%eax
474b75:	ff 15 9c 32 4b 00    	call   *0x4b329c
474b7b:	90                   	nop
474b7c:	90                   	nop
474b7d:	39 65 f0             	cmp    %esp,-0x10(%ebp)
474b80:	74 17                	je     0x474b99
474b82:	68 3f 01 00 00       	push   $0x13f
474b87:	68 2b d3 03 04       	push   $0x403d32b
474b8c:	68 06 00 00 00       	push   $0x6
474b91:	e8 14 ba 02 00       	call   0x4a05aa
474b96:	83 c4 0c             	add    $0xc,%esp
474b99:	e9 2f 00 00 00       	jmp    0x474bcd
474b9e:	89 65 f0             	mov    %esp,-0x10(%ebp)
474ba1:	ff 35 14 99 50 00    	push   0x509914
474ba7:	33 c0                	xor    %eax,%eax
474ba9:	ff 15 9c 32 4b 00    	call   *0x4b329c
474baf:	90                   	nop
474bb0:	90                   	nop
474bb1:	39 65 f0             	cmp    %esp,-0x10(%ebp)
474bb4:	74 17                	je     0x474bcd
474bb6:	68 84 01 00 00       	push   $0x184
474bbb:	68 2b d3 03 04       	push   $0x403d32b
474bc0:	68 06 00 00 00       	push   $0x6
474bc5:	e8 e0 b9 02 00       	call   0x4a05aa
474bca:	83 c4 0c             	add    $0xc,%esp
474bcd:	8b 5d fc             	mov    -0x4(%ebp),%ebx
474bd0:	53                   	push   %ebx
474bd1:	e8 ce b9 02 00       	call   0x4a05a4
474bd6:	83 c4 04             	add    $0x4,%esp
474bd9:	8b e5                	mov    %ebp,%esp
474bdb:	5d                   	pop    %ebp
474bdc:	c3                   	ret
474bdd:	55                   	push   %ebp
474bde:	8b ec                	mov    %esp,%ebp
474be0:	81 ec 10 00 00 00    	sub    $0x10,%esp
474be6:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
474bed:	68 08 00 00 00       	push   $0x8
474bf2:	e8 a7 b9 02 00       	call   0x4a059e
474bf7:	83 c4 04             	add    $0x4,%esp
474bfa:	89 45 f8             	mov    %eax,-0x8(%ebp)
474bfd:	8b d8                	mov    %eax,%ebx
474bff:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
474c05:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
474c0c:	ff 75 08             	push   0x8(%ebp)
474c0f:	e8 04 2f fa ff       	call   0x417b18
474c14:	89 45 fc             	mov    %eax,-0x4(%ebp)
474c17:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
474c1b:	0f 84 78 00 00 00    	je     0x474c99
474c21:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
474c25:	0f 85 4b 00 00 00    	jne    0x474c76
474c2b:	89 65 f4             	mov    %esp,-0xc(%ebp)
474c2e:	ff 75 f8             	push   -0x8(%ebp)
474c31:	33 c0                	xor    %eax,%eax
474c33:	ff 15 58 32 4b 00    	call   *0x4b3258
474c39:	90                   	nop
474c3a:	90                   	nop
474c3b:	39 65 f4             	cmp    %esp,-0xc(%ebp)
474c3e:	74 17                	je     0x474c57
474c40:	68 97 00 00 00       	push   $0x97
474c45:	68 3d d3 03 04       	push   $0x403d33d
474c4a:	68 06 00 00 00       	push   $0x6
474c4f:	e8 56 b9 02 00       	call   0x4a05aa
474c54:	83 c4 0c             	add    $0xc,%esp
474c57:	8b 5d f8             	mov    -0x8(%ebp),%ebx
474c5a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
474c5d:	8b 5d f4             	mov    -0xc(%ebp),%ebx
474c60:	8b 03                	mov    (%ebx),%eax
474c62:	89 45 0c             	mov    %eax,0xc(%ebp)
474c65:	8b 5d f8             	mov    -0x8(%ebp),%ebx
474c68:	83 c3 04             	add    $0x4,%ebx
474c6b:	89 5d f4             	mov    %ebx,-0xc(%ebp)
474c6e:	8b 5d f4             	mov    -0xc(%ebp),%ebx
474c71:	8b 03                	mov    (%ebx),%eax
474c73:	89 45 14             	mov    %eax,0x14(%ebp)
474c76:	68 23 00 00 00       	push   $0x23
474c7b:	ff 75 fc             	push   -0x4(%ebp)
474c7e:	e8 78 32 fa ff       	call   0x417efb
474c83:	89 45 f4             	mov    %eax,-0xc(%ebp)
474c86:	ff 75 14             	push   0x14(%ebp)
474c89:	ff 75 0c             	push   0xc(%ebp)
474c8c:	ff 75 f4             	push   -0xc(%ebp)
474c8f:	e8 23 00 00 00       	call   0x474cb7
474c94:	e9 0a 00 00 00       	jmp    0x474ca3
474c99:	b8 00 00 00 00       	mov    $0x0,%eax
474c9e:	e9 00 00 00 00       	jmp    0x474ca3
474ca3:	50                   	push   %eax
474ca4:	8b 5d f8             	mov    -0x8(%ebp),%ebx
474ca7:	53                   	push   %ebx
474ca8:	e8 f7 b8 02 00       	call   0x4a05a4
474cad:	83 c4 04             	add    $0x4,%esp
474cb0:	58                   	pop    %eax
474cb1:	8b e5                	mov    %ebp,%esp
474cb3:	5d                   	pop    %ebp
474cb4:	c2 14 00             	ret    $0x14
474cb7:	55                   	push   %ebp
474cb8:	8b ec                	mov    %esp,%ebp
474cba:	81 ec 48 00 00 00    	sub    $0x48,%esp
474cc0:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
474cc7:	68 10 00 00 00       	push   $0x10
474ccc:	e8 cd b8 02 00       	call   0x4a059e
474cd1:	83 c4 04             	add    $0x4,%esp
474cd4:	89 45 f8             	mov    %eax,-0x8(%ebp)
474cd7:	8b d8                	mov    %eax,%ebx
474cd9:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
474cdf:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
474ce6:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
474ced:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
474cf4:	68 02 00 00 00       	push   $0x2
474cf9:	ff 75 08             	push   0x8(%ebp)
474cfc:	e8 fa 31 fa ff       	call   0x417efb
474d01:	89 45 fc             	mov    %eax,-0x4(%ebp)
474d04:	89 65 f4             	mov    %esp,-0xc(%ebp)
474d07:	ff 75 f8             	push   -0x8(%ebp)
474d0a:	ff 75 fc             	push   -0x4(%ebp)
474d0d:	33 c0                	xor    %eax,%eax
474d0f:	ff 15 e0 32 4b 00    	call   *0x4b32e0
474d15:	90                   	nop
474d16:	90                   	nop
474d17:	39 65 f4             	cmp    %esp,-0xc(%ebp)
474d1a:	74 17                	je     0x474d33
474d1c:	68 39 00 00 00       	push   $0x39
474d21:	68 de cf 03 04       	push   $0x403cfde
474d26:	68 06 00 00 00       	push   $0x6
474d2b:	e8 7a b8 02 00       	call   0x4a05aa
474d30:	83 c4 0c             	add    $0xc,%esp
474d33:	8b 5d f8             	mov    -0x8(%ebp),%ebx
474d36:	89 5d f4             	mov    %ebx,-0xc(%ebp)
474d39:	db 45 0c             	fildl  0xc(%ebp)
474d3c:	dd 5d ec             	fstpl  -0x14(%ebp)
474d3f:	dd 45 ec             	fldl   -0x14(%ebp)
474d42:	8b 5d f4             	mov    -0xc(%ebp),%ebx
474d45:	db 03                	fildl  (%ebx)
474d47:	dd 5d e4             	fstpl  -0x1c(%ebp)
474d4a:	dc 65 e4             	fsubl  -0x1c(%ebp)
474d4d:	dd 5d dc             	fstpl  -0x24(%ebp)
474d50:	8b 5d f8             	mov    -0x8(%ebp),%ebx
474d53:	83 c3 04             	add    $0x4,%ebx
474d56:	89 5d d8             	mov    %ebx,-0x28(%ebp)
474d59:	db 45 10             	fildl  0x10(%ebp)
474d5c:	dd 5d d0             	fstpl  -0x30(%ebp)
474d5f:	dd 45 d0             	fldl   -0x30(%ebp)
474d62:	8b 5d d8             	mov    -0x28(%ebp),%ebx
474d65:	db 03                	fildl  (%ebx)
474d67:	dd 5d c8             	fstpl  -0x38(%ebp)
474d6a:	dc 65 c8             	fsubl  -0x38(%ebp)
474d6d:	dd 5d c0             	fstpl  -0x40(%ebp)
474d70:	6a 01                	push   $0x1
474d72:	b8 00 00 00 00       	mov    $0x0,%eax
474d77:	89 45 bc             	mov    %eax,-0x44(%ebp)
474d7a:	8d 45 bc             	lea    -0x44(%ebp),%eax
474d7d:	50                   	push   %eax
474d7e:	dd 45 c0             	fldl   -0x40(%ebp)
474d81:	e8 69 c4 f8 ff       	call   0x4011ef
474d86:	50                   	push   %eax
474d87:	dd 45 dc             	fldl   -0x24(%ebp)
474d8a:	e8 60 c4 f8 ff       	call   0x4011ef
474d8f:	50                   	push   %eax
474d90:	ff 75 08             	push   0x8(%ebp)
474d93:	e8 dc 49 fd ff       	call   0x449774
474d98:	e9 00 00 00 00       	jmp    0x474d9d
474d9d:	50                   	push   %eax
474d9e:	8b 5d f8             	mov    -0x8(%ebp),%ebx
474da1:	53                   	push   %ebx
474da2:	e8 fd b7 02 00       	call   0x4a05a4
474da7:	83 c4 04             	add    $0x4,%esp
474daa:	58                   	pop    %eax
474dab:	8b e5                	mov    %ebp,%esp
474dad:	5d                   	pop    %ebp
474dae:	c2 0c 00             	ret    $0xc
474db1:	55                   	push   %ebp
474db2:	8b ec                	mov    %esp,%ebp
474db4:	81 ec 2c 00 00 00    	sub    $0x2c,%esp
474dba:	68 18 00 00 00       	push   $0x18
474dbf:	e8 da b7 02 00       	call   0x4a059e
474dc4:	83 c4 04             	add    $0x4,%esp
474dc7:	89 45 fc             	mov    %eax,-0x4(%ebp)
474dca:	8b d8                	mov    %eax,%ebx
474dcc:	8b f8                	mov    %eax,%edi
474dce:	33 c0                	xor    %eax,%eax
474dd0:	b9 06 00 00 00       	mov    $0x6,%ecx
474dd5:	f3 ab                	rep stos %eax,%es:(%edi)
474dd7:	83 c3 08             	add    $0x8,%ebx
474dda:	53                   	push   %ebx
474ddb:	68 10 00 00 00       	push   $0x10
474de0:	e8 b9 b7 02 00       	call   0x4a059e
474de5:	83 c4 04             	add    $0x4,%esp
474de8:	5b                   	pop    %ebx
474de9:	53                   	push   %ebx
474dea:	89 03                	mov    %eax,(%ebx)
474dec:	8b d8                	mov    %eax,%ebx
474dee:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
474df4:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
474dfb:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
474e02:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
474e09:	5b                   	pop    %ebx
474e0a:	83 c3 0c             	add    $0xc,%ebx
474e0d:	53                   	push   %ebx
474e0e:	68 28 00 00 00       	push   $0x28