474931:	57                   	push   %edi
474932:	75 0d                	jne    0x474941
474934:	e8 d7 e8 fe ff       	call   0x463210
474939:	8b 45 a8             	mov    -0x58(%ebp),%eax
47493c:	e9 79 fe ff ff       	jmp    0x4747ba
474941:	e8 4a 30 ff ff       	call   0x467990
474946:	8b 45 a8             	mov    -0x58(%ebp),%eax
474949:	e9 6c fe ff ff       	jmp    0x4747ba
47494e:	8b 55 ac             	mov    -0x54(%ebp),%edx
474951:	8d 45 a0             	lea    -0x60(%ebp),%eax
474954:	50                   	push   %eax
474955:	52                   	push   %edx
474956:	e8 25 c2 fd ff       	call   0x450b80
47495b:	83 c4 08             	add    $0x8,%esp
47495e:	89 45 a8             	mov    %eax,-0x58(%ebp)
474961:	85 c0                	test   %eax,%eax
474963:	0f 84 4f fe ff ff    	je     0x4747b8
474969:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
47496d:	ff 75 a4             	push   -0x5c(%ebp)
474970:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474973:	ff 75 a0             	push   -0x60(%ebp)
474976:	56                   	push   %esi
474977:	57                   	push   %edi
474978:	75 0d                	jne    0x474987
47497a:	e8 41 e9 fe ff       	call   0x4632c0
47497f:	8b 45 a8             	mov    -0x58(%ebp),%eax
474982:	e9 33 fe ff ff       	jmp    0x4747ba
474987:	e8 a4 30 ff ff       	call   0x467a30
47498c:	8b 45 a8             	mov    -0x58(%ebp),%eax
47498f:	e9 26 fe ff ff       	jmp    0x4747ba
474994:	8b 55 ac             	mov    -0x54(%ebp),%edx
474997:	8d 45 a0             	lea    -0x60(%ebp),%eax
47499a:	50                   	push   %eax
47499b:	52                   	push   %edx
47499c:	e8 df c1 fd ff       	call   0x450b80
4749a1:	8b c8                	mov    %eax,%ecx
4749a3:	83 c4 08             	add    $0x8,%esp
4749a6:	8b 45 a0             	mov    -0x60(%ebp),%eax
4749a9:	8b d0                	mov    %eax,%edx
4749ab:	83 e0 01             	and    $0x1,%eax
4749ae:	d1 ea                	shr    $1,%edx
4749b0:	f7 d8                	neg    %eax
4749b2:	89 4d a8             	mov    %ecx,-0x58(%ebp)
4749b5:	33 d0                	xor    %eax,%edx
4749b7:	85 c9                	test   %ecx,%ecx
4749b9:	0f 84 f9 fd ff ff    	je     0x4747b8
4749bf:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
4749c3:	8b 4d b0             	mov    -0x50(%ebp),%ecx
4749c6:	52                   	push   %edx
4749c7:	56                   	push   %esi
4749c8:	57                   	push   %edi
4749c9:	75 0d                	jne    0x4749d8
4749cb:	e8 e0 e3 fe ff       	call   0x462db0
4749d0:	8b 45 a8             	mov    -0x58(%ebp),%eax
4749d3:	e9 e2 fd ff ff       	jmp    0x4747ba
4749d8:	e8 c3 2b ff ff       	call   0x4675a0
4749dd:	8b 45 a8             	mov    -0x58(%ebp),%eax
4749e0:	e9 d5 fd ff ff       	jmp    0x4747ba
4749e5:	8b 55 ac             	mov    -0x54(%ebp),%edx
4749e8:	8d 45 a0             	lea    -0x60(%ebp),%eax
4749eb:	50                   	push   %eax
4749ec:	52                   	push   %edx
4749ed:	e8 8e c1 fd ff       	call   0x450b80
4749f2:	8b 4d a0             	mov    -0x60(%ebp),%ecx
4749f5:	8b d0                	mov    %eax,%edx
4749f7:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4749fa:	83 c4 08             	add    $0x8,%esp
4749fd:	89 4d ac             	mov    %ecx,-0x54(%ebp)
474a00:	83 e1 01             	and    $0x1,%ecx
474a03:	0f ac 45 ac 01       	shrd   $0x1,%eax,-0x54(%ebp)
474a08:	89 55 a8             	mov    %edx,-0x58(%ebp)
474a0b:	d1 e8                	shr    $1,%eax
474a0d:	89 45 a4             	mov    %eax,-0x5c(%ebp)
474a10:	33 c0                	xor    %eax,%eax
474a12:	f7 d9                	neg    %ecx
474a14:	13 c0                	adc    %eax,%eax
474a16:	31 4d ac             	xor    %ecx,-0x54(%ebp)
474a19:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
474a1c:	f7 d8                	neg    %eax
474a1e:	33 c8                	xor    %eax,%ecx
474a20:	85 d2                	test   %edx,%edx
474a22:	0f 84 90 fd ff ff    	je     0x4747b8
474a28:	51                   	push   %ecx
474a29:	ff 75 ac             	push   -0x54(%ebp)
474a2c:	e9 be fe ff ff       	jmp    0x4748ef
474a31:	e8 0a 2c ff ff       	call   0x467640
474a36:	8b 45 a8             	mov    -0x58(%ebp),%eax
474a39:	e9 7c fd ff ff       	jmp    0x4747ba
474a3e:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
474a42:	8b 55 ac             	mov    -0x54(%ebp),%edx
474a45:	8b 02                	mov    (%edx),%eax
474a47:	8d 4a 04             	lea    0x4(%edx),%ecx
474a4a:	50                   	push   %eax
474a4b:	56                   	push   %esi
474a4c:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
474a4f:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474a52:	57                   	push   %edi
474a53:	75 0d                	jne    0x474a62
474a55:	e8 b6 e7 fe ff       	call   0x463210
474a5a:	8b 45 a4             	mov    -0x5c(%ebp),%eax
474a5d:	e9 58 fd ff ff       	jmp    0x4747ba
474a62:	e8 29 2f ff ff       	call   0x467990
474a67:	8b 45 a4             	mov    -0x5c(%ebp),%eax
474a6a:	e9 4b fd ff ff       	jmp    0x4747ba
474a6f:	8b 55 ac             	mov    -0x54(%ebp),%edx
474a72:	8b 4a 04             	mov    0x4(%edx),%ecx
474a75:	8b 02                	mov    (%edx),%eax
474a77:	83 c2 08             	add    $0x8,%edx
474a7a:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
474a7e:	51                   	push   %ecx
474a7f:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474a82:	50                   	push   %eax
474a83:	56                   	push   %esi
474a84:	89 55 a4             	mov    %edx,-0x5c(%ebp)
474a87:	57                   	push   %edi
474a88:	75 0d                	jne    0x474a97
474a8a:	e8 31 e8 fe ff       	call   0x4632c0
474a8f:	8b 45 a4             	mov    -0x5c(%ebp),%eax
474a92:	e9 23 fd ff ff       	jmp    0x4747ba
474a97:	e8 94 2f ff ff       	call   0x467a30
474a9c:	8b 45 a4             	mov    -0x5c(%ebp),%eax
474a9f:	e9 16 fd ff ff       	jmp    0x4747ba
474aa4:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
474aa8:	8b 55 ac             	mov    -0x54(%ebp),%edx
474aab:	8b 02                	mov    (%edx),%eax
474aad:	8d 4a 04             	lea    0x4(%edx),%ecx
474ab0:	50                   	push   %eax
474ab1:	56                   	push   %esi
474ab2:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
474ab5:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474ab8:	57                   	push   %edi
474ab9:	75 0d                	jne    0x474ac8
474abb:	e8 f0 e2 fe ff       	call   0x462db0
474ac0:	8b 45 a4             	mov    -0x5c(%ebp),%eax
474ac3:	e9 f2 fc ff ff       	jmp    0x4747ba
474ac8:	e8 d3 2a ff ff       	call   0x4675a0
474acd:	8b 45 a4             	mov    -0x5c(%ebp),%eax
474ad0:	e9 e5 fc ff ff       	jmp    0x4747ba
474ad5:	8b 55 ac             	mov    -0x54(%ebp),%edx
474ad8:	8b 4a 04             	mov    0x4(%edx),%ecx
474adb:	8b 02                	mov    (%edx),%eax
474add:	83 c2 08             	add    $0x8,%edx
474ae0:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
474ae4:	51                   	push   %ecx
474ae5:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474ae8:	50                   	push   %eax
474ae9:	56                   	push   %esi
474aea:	89 55 a4             	mov    %edx,-0x5c(%ebp)
474aed:	57                   	push   %edi
474aee:	75 0d                	jne    0x474afd
474af0:	e8 6b e3 fe ff       	call   0x462e60
474af5:	8b 45 a4             	mov    -0x5c(%ebp),%eax
474af8:	e9 bd fc ff ff       	jmp    0x4747ba
474afd:	e8 3e 2b ff ff       	call   0x467640
474b02:	8b 45 a4             	mov    -0x5c(%ebp),%eax
474b05:	e9 b0 fc ff ff       	jmp    0x4747ba
474b0a:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
474b0e:	8b 55 ac             	mov    -0x54(%ebp),%edx
474b11:	51                   	push   %ecx
474b12:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474b15:	8b 02                	mov    (%edx),%eax
474b17:	89 45 98             	mov    %eax,-0x68(%ebp)
474b1a:	8d 42 04             	lea    0x4(%edx),%eax
474b1d:	f3 0f 10 45 98       	movss  -0x68(%ebp),%xmm0
474b22:	f3 0f 11 04 24       	movss  %xmm0,(%esp)
474b27:	56                   	push   %esi
474b28:	89 45 a4             	mov    %eax,-0x5c(%ebp)
474b2b:	57                   	push   %edi
474b2c:	75 0d                	jne    0x474b3b
474b2e:	e8 bd e1 fe ff       	call   0x462cf0
474b33:	8b 45 a4             	mov    -0x5c(%ebp),%eax
474b36:	e9 7f fc ff ff       	jmp    0x4747ba
474b3b:	e8 b0 29 ff ff       	call   0x4674f0
474b40:	8b 45 a4             	mov    -0x5c(%ebp),%eax
474b43:	e9 72 fc ff ff       	jmp    0x4747ba
474b48:	8b 55 ac             	mov    -0x54(%ebp),%edx
474b4b:	83 ec 08             	sub    $0x8,%esp
474b4e:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
474b52:	8b 02                	mov    (%edx),%eax
474b54:	8b 4a 04             	mov    0x4(%edx),%ecx
474b57:	89 45 8c             	mov    %eax,-0x74(%ebp)
474b5a:	8d 42 08             	lea    0x8(%edx),%eax
474b5d:	89 4d 90             	mov    %ecx,-0x70(%ebp)
474b60:	f2 0f 10 45 8c       	movsd  -0x74(%ebp),%xmm0
474b65:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474b68:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
474b6d:	56                   	push   %esi
474b6e:	89 45 a4             	mov    %eax,-0x5c(%ebp)
474b71:	57                   	push   %edi
474b72:	75 0d                	jne    0x474b81
474b74:	e8 17 df fe ff       	call   0x462a90
474b79:	8b 45 a4             	mov    -0x5c(%ebp),%eax
474b7c:	e9 39 fc ff ff       	jmp    0x4747ba
474b81:	e8 3a 27 ff ff       	call   0x4672c0
474b86:	8b 45 a4             	mov    -0x5c(%ebp),%eax
474b89:	e9 2c fc ff ff       	jmp    0x4747ba
474b8e:	8b 55 ac             	mov    -0x54(%ebp),%edx
474b91:	8d 45 98             	lea    -0x68(%ebp),%eax
474b94:	50                   	push   %eax
474b95:	52                   	push   %edx
474b96:	e8 85 bf fd ff       	call   0x450b20
474b9b:	83 c4 08             	add    $0x8,%esp
474b9e:	89 45 a8             	mov    %eax,-0x58(%ebp)
474ba1:	85 c0                	test   %eax,%eax
474ba3:	0f 84 0f fc ff ff    	je     0x4747b8
474ba9:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
474bad:	ff 75 98             	push   -0x68(%ebp)
474bb0:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474bb3:	56                   	push   %esi
474bb4:	57                   	push   %edi
474bb5:	75 0d                	jne    0x474bc4
474bb7:	e8 14 e0 fe ff       	call   0x462bd0
474bbc:	8b 45 a8             	mov    -0x58(%ebp),%eax
474bbf:	e9 f6 fb ff ff       	jmp    0x4747ba
474bc4:	e8 17 28 ff ff       	call   0x4673e0
474bc9:	8b 45 a8             	mov    -0x58(%ebp),%eax
474bcc:	e9 e9 fb ff ff       	jmp    0x4747ba
474bd1:	8b 46 14             	mov    0x14(%esi),%eax
474bd4:	c6 45 97 01          	movb   $0x1,-0x69(%ebp)
474bd8:	83 78 2c 03          	cmpl   $0x3,0x2c(%eax)
474bdc:	0f 94 45 9f          	sete   -0x61(%ebp)
474be0:	8d 45 90             	lea    -0x70(%ebp),%eax
474be3:	50                   	push   %eax
474be4:	e8 f7 ab fe ff       	call   0x45f7e0
474be9:	8b 4d 90             	mov    -0x70(%ebp),%ecx
474bec:	83 c4 04             	add    $0x4,%esp
474bef:	85 c9                	test   %ecx,%ecx
474bf1:	0f 84 c1 fb ff ff    	je     0x4747b8
474bf7:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
474bfe:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
474c05:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
474c0c:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
474c10:	8d 55 d8             	lea    -0x28(%ebp),%edx
474c13:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
474c1a:	52                   	push   %edx
474c1b:	50                   	push   %eax
474c1c:	51                   	push   %ecx
474c1d:	8b 4d a8             	mov    -0x58(%ebp),%ecx
474c20:	e8 2b e0 ff ff       	call   0x472c50
474c25:	89 45 a4             	mov    %eax,-0x5c(%ebp)
474c28:	85 c0                	test   %eax,%eax
474c2a:	74 6c                	je     0x474c98
474c2c:	80 7d 97 00          	cmpb   $0x0,-0x69(%ebp)
474c30:	74 2f                	je     0x474c61
474c32:	80 7d 9f 00          	cmpb   $0x0,-0x61(%ebp)
474c36:	74 29                	je     0x474c61
474c38:	8b 4e 04             	mov    0x4(%esi),%ecx
474c3b:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
474c3f:	72 02                	jb     0x474c43
474c41:	8b 09                	mov    (%ecx),%ecx
474c43:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
474c47:	8d 45 d8             	lea    -0x28(%ebp),%eax
474c4a:	51                   	push   %ecx
474c4b:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
474c4f:	6a 00                	push   $0x0
474c51:	ff 75 e8             	push   -0x18(%ebp)
474c54:	50                   	push   %eax
474c55:	e8 a6 66 03 00       	call   0x4ab300
474c5a:	83 c4 10             	add    $0x10,%esp
474c5d:	84 c0                	test   %al,%al
474c5f:	74 37                	je     0x474c98
474c61:	83 ec 18             	sub    $0x18,%esp
474c64:	8d 45 d8             	lea    -0x28(%ebp),%eax
474c67:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
474c6b:	8b cc                	mov    %esp,%ecx
474c6d:	50                   	push   %eax
474c6e:	75 14                	jne    0x474c84
474c70:	e8 ab 1a fe ff       	call   0x456720
474c75:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474c78:	56                   	push   %esi
474c79:	57                   	push   %edi
474c7a:	e8 01 e4 fe ff       	call   0x463080
474c7f:	8b 75 a4             	mov    -0x5c(%ebp),%esi
474c82:	eb 16                	jmp    0x474c9a
474c84:	e8 97 1a fe ff       	call   0x456720
474c89:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474c8c:	56                   	push   %esi
474c8d:	57                   	push   %edi
474c8e:	e8 5d 2a ff ff       	call   0x4676f0
474c93:	8b 75 a4             	mov    -0x5c(%ebp),%esi
474c96:	eb 02                	jmp    0x474c9a
474c98:	33 f6                	xor    %esi,%esi
474c9a:	8b 55 ec             	mov    -0x14(%ebp),%edx
474c9d:	83 fa 10             	cmp    $0x10,%edx
474ca0:	72 2c                	jb     0x474cce
474ca2:	8b 4d d8             	mov    -0x28(%ebp),%ecx
474ca5:	42                   	inc    %edx
474ca6:	8b c1                	mov    %ecx,%eax
474ca8:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
474cae:	72 14                	jb     0x474cc4
474cb0:	8b 49 fc             	mov    -0x4(%ecx),%ecx
474cb3:	83 c2 23             	add    $0x23,%edx
474cb6:	2b c1                	sub    %ecx,%eax
474cb8:	83 c0 fc             	add    $0xfffffffc,%eax
474cbb:	83 f8 1f             	cmp    $0x1f,%eax
474cbe:	0f 87 aa 00 00 00    	ja     0x474d6e
474cc4:	52                   	push   %edx
474cc5:	51                   	push   %ecx
474cc6:	e8 8a c5 15 00       	call   0x5d1255
474ccb:	83 c4 08             	add    $0x8,%esp
474cce:	8b c6                	mov    %esi,%eax
474cd0:	e9 e5 fa ff ff       	jmp    0x4747ba
474cd5:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
474cd9:	8b 45 a8             	mov    -0x58(%ebp),%eax
474cdc:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474cdf:	8b 40 50             	mov    0x50(%eax),%eax
474ce2:	50                   	push   %eax
474ce3:	56                   	push   %esi
474ce4:	57                   	push   %edi
474ce5:	75 07                	jne    0x474cee
474ce7:	e8 34 e2 fe ff       	call   0x462f20
474cec:	eb 05                	jmp    0x474cf3
474cee:	e8 5d 17 ff ff       	call   0x466450
474cf3:	8b 75 a8             	mov    -0x58(%ebp),%esi
474cf6:	8b c8                	mov    %eax,%ecx
474cf8:	83 46 44 ff          	addl   $0xffffffff,0x44(%esi)
474cfc:	0f 88 b6 fa ff ff    	js     0x4747b8
474d02:	ff 46 48             	incl   0x48(%esi)
474d05:	8b 01                	mov    (%ecx),%eax
474d07:	8b 55 ac             	mov    -0x54(%ebp),%edx
474d0a:	56                   	push   %esi
474d0b:	52                   	push   %edx
474d0c:	8b 40 28             	mov    0x28(%eax),%eax
474d0f:	ff d0                	call   *%eax
474d11:	8b 4e 3c             	mov    0x3c(%esi),%ecx
474d14:	33 d2                	xor    %edx,%edx
474d16:	ff 4e 48             	decl   0x48(%esi)
474d19:	ff 46 44             	incl   0x44(%esi)
474d1c:	3b 4d 88             	cmp    -0x78(%ebp),%ecx
474d1f:	c7 46 3c 00 00 00 00 	movl   $0x0,0x3c(%esi)
474d26:	0f 45 c2             	cmovne %edx,%eax
474d29:	e9 8c fa ff ff       	jmp    0x4747ba
474d2e:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
474d32:	8b 45 a8             	mov    -0x58(%ebp),%eax
474d35:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474d38:	8b 40 50             	mov    0x50(%eax),%eax
474d3b:	50                   	push   %eax
474d3c:	56                   	push   %esi
474d3d:	57                   	push   %edi
474d3e:	75 17                	jne    0x474d57
474d40:	e8 db e1 fe ff       	call   0x462f20
474d45:	8b 55 ac             	mov    -0x54(%ebp),%edx
474d48:	8b 4d a8             	mov    -0x58(%ebp),%ecx
474d4b:	52                   	push   %edx
474d4c:	50                   	push   %eax
474d4d:	e8 de a9 fe ff       	call   0x45f730
474d52:	e9 63 fa ff ff       	jmp    0x4747ba
474d57:	e8 f4 16 ff ff       	call   0x466450
474d5c:	8b 55 ac             	mov    -0x54(%ebp),%edx
474d5f:	8b 4d a8             	mov    -0x58(%ebp),%ecx