47472e:	83 ec 10             	sub    $0x10,%esp
474731:	8b c4                	mov    %esp,%eax
474733:	0f 10 01             	movups (%ecx),%xmm0
474736:	57                   	push   %edi
474737:	0f 11 45 bc          	movups %xmm0,-0x44(%ebp)
47473b:	0f 10 45 e0          	movups -0x20(%ebp),%xmm0
47473f:	0f 11 00             	movups %xmm0,(%eax)
474742:	8d 45 bc             	lea    -0x44(%ebp),%eax
474745:	03 c2                	add    %edx,%eax
474747:	50                   	push   %eax
474748:	e8 63 69 ff ff       	call   0x46b0b0
47474d:	83 c4 18             	add    $0x18,%esp
474750:	85 c0                	test   %eax,%eax
474752:	0f 84 16 ff ff ff    	je     0x47466e
474758:	3b c7                	cmp    %edi,%eax
47475a:	0f 85 0e ff ff ff    	jne    0x47466e
474760:	8b 4e 04             	mov    0x4(%esi),%ecx
474763:	8d 55 bc             	lea    -0x44(%ebp),%edx
474766:	2b ca                	sub    %edx,%ecx
474768:	03 c8                	add    %eax,%ecx
47476a:	8b c1                	mov    %ecx,%eax
47476c:	eb 4c                	jmp    0x4747ba
47476e:	8b 45 a8             	mov    -0x58(%ebp),%eax
474771:	50                   	push   %eax
474772:	52                   	push   %edx
474773:	ff 75 a4             	push   -0x5c(%ebp)
474776:	e8 25 ac fe ff       	call   0x45f3a0
47477b:	83 c4 0c             	add    $0xc,%esp
47477e:	eb 3a                	jmp    0x4747ba
474780:	68 72 03 00 00       	push   $0x372
474785:	68 88 79 60 00       	push   $0x607988
47478a:	6a 03                	push   $0x3
47478c:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
47478f:	e8 4c 0b 00 00       	call   0x4752e0
474794:	68 24 7a 60 00       	push   $0x607a24
474799:	8b c8                	mov    %eax,%ecx
47479b:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
4747a2:	e8 49 11 00 00       	call   0x4758f0
4747a7:	50                   	push   %eax
4747a8:	8d 4d 9f             	lea    -0x61(%ebp),%ecx
4747ab:	e8 d0 0e 00 00       	call   0x475680
4747b0:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
4747b3:	e8 58 0e 00 00       	call   0x475610
4747b8:	33 c0                	xor    %eax,%eax
4747ba:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4747bd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4747c4:	59                   	pop    %ecx
4747c5:	5f                   	pop    %edi
4747c6:	5e                   	pop    %esi
4747c7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4747ca:	33 cd                	xor    %ebp,%ecx
4747cc:	e8 55 d2 15 00       	call   0x5d1a26
4747d1:	8b e5                	mov    %ebp,%esp
4747d3:	5d                   	pop    %ebp
4747d4:	c3                   	ret
4747d5:	8b 45 a8             	mov    -0x58(%ebp),%eax
4747d8:	8b 55 ac             	mov    -0x54(%ebp),%edx
4747db:	8b 4d b0             	mov    -0x50(%ebp),%ecx
4747de:	50                   	push   %eax
4747df:	52                   	push   %edx
4747e0:	57                   	push   %edi
4747e1:	e8 4a 21 ff ff       	call   0x466930
4747e6:	50                   	push   %eax
4747e7:	ff 75 98             	push   -0x68(%ebp)
4747ea:	ff 75 88             	push   -0x78(%ebp)
4747ed:	e8 be c7 fe ff       	call   0x460fb0
4747f2:	83 c4 14             	add    $0x14,%esp
4747f5:	eb c3                	jmp    0x4747ba
4747f7:	8b ce                	mov    %esi,%ecx
4747f9:	c6 45 97 00          	movb   $0x0,-0x69(%ebp)
4747fd:	c6 45 9f 00          	movb   $0x0,-0x61(%ebp)
474801:	e8 9a 49 fe ff       	call   0x4591a0
474806:	48                   	dec    %eax
474807:	83 f8 11             	cmp    $0x11,%eax
47480a:	77 ac                	ja     0x4747b8
47480c:	ff 24 85 bc 4d 47 00 	jmp    *0x474dbc(,%eax,4)
474813:	8b 55 ac             	mov    -0x54(%ebp),%edx
474816:	8d 45 a0             	lea    -0x60(%ebp),%eax
474819:	50                   	push   %eax
47481a:	52                   	push   %edx
47481b:	e8 60 c3 fd ff       	call   0x450b80
474820:	83 c4 08             	add    $0x8,%esp
474823:	89 45 a8             	mov    %eax,-0x58(%ebp)
474826:	85 c0                	test   %eax,%eax
474828:	74 8e                	je     0x4747b8
47482a:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
47482e:	75 32                	jne    0x474862
474830:	8b 4d a0             	mov    -0x60(%ebp),%ecx
474833:	0b 4d a4             	or     -0x5c(%ebp),%ecx
474836:	74 15                	je     0x47484d
474838:	8b 4d b0             	mov    -0x50(%ebp),%ecx
47483b:	b0 01                	mov    $0x1,%al
47483d:	50                   	push   %eax
47483e:	56                   	push   %esi
47483f:	57                   	push   %edi
474840:	e8 2b e1 fe ff       	call   0x462970
474845:	8b 45 a8             	mov    -0x58(%ebp),%eax
474848:	e9 6d ff ff ff       	jmp    0x4747ba
47484d:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474850:	32 c0                	xor    %al,%al
474852:	50                   	push   %eax
474853:	56                   	push   %esi
474854:	57                   	push   %edi
474855:	e8 16 e1 fe ff       	call   0x462970
47485a:	8b 45 a8             	mov    -0x58(%ebp),%eax
47485d:	e9 58 ff ff ff       	jmp    0x4747ba
474862:	8b 45 a0             	mov    -0x60(%ebp),%eax
474865:	0b 45 a4             	or     -0x5c(%ebp),%eax
474868:	74 15                	je     0x47487f
47486a:	8b 4d b0             	mov    -0x50(%ebp),%ecx
47486d:	b0 01                	mov    $0x1,%al
47486f:	50                   	push   %eax
474870:	56                   	push   %esi
474871:	57                   	push   %edi
474872:	e8 a9 29 ff ff       	call   0x467220
474877:	8b 45 a8             	mov    -0x58(%ebp),%eax
47487a:	e9 3b ff ff ff       	jmp    0x4747ba
47487f:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474882:	32 c0                	xor    %al,%al
474884:	50                   	push   %eax
474885:	56                   	push   %esi
474886:	57                   	push   %edi
474887:	e8 94 29 ff ff       	call   0x467220
47488c:	8b 45 a8             	mov    -0x58(%ebp),%eax
47488f:	e9 26 ff ff ff       	jmp    0x4747ba
474894:	8b 55 ac             	mov    -0x54(%ebp),%edx
474897:	8d 45 98             	lea    -0x68(%ebp),%eax
47489a:	50                   	push   %eax
47489b:	52                   	push   %edx
47489c:	e8 7f c2 fd ff       	call   0x450b20
4748a1:	83 c4 08             	add    $0x8,%esp
4748a4:	89 45 a8             	mov    %eax,-0x58(%ebp)
4748a7:	85 c0                	test   %eax,%eax
4748a9:	0f 84 09 ff ff ff    	je     0x4747b8
4748af:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
4748b3:	ff 75 98             	push   -0x68(%ebp)
4748b6:	8b 4d b0             	mov    -0x50(%ebp),%ecx
4748b9:	56                   	push   %esi
4748ba:	57                   	push   %edi
4748bb:	0f 85 17 01 00 00    	jne    0x4749d8
4748c1:	e8 ea e4 fe ff       	call   0x462db0
4748c6:	8b 45 a8             	mov    -0x58(%ebp),%eax
4748c9:	e9 ec fe ff ff       	jmp    0x4747ba
4748ce:	8b 55 ac             	mov    -0x54(%ebp),%edx
4748d1:	8d 45 a0             	lea    -0x60(%ebp),%eax
4748d4:	50                   	push   %eax
4748d5:	52                   	push   %edx
4748d6:	e8 a5 c2 fd ff       	call   0x450b80
4748db:	83 c4 08             	add    $0x8,%esp
4748de:	89 45 a8             	mov    %eax,-0x58(%ebp)
4748e1:	85 c0                	test   %eax,%eax
4748e3:	0f 84 cf fe ff ff    	je     0x4747b8
4748e9:	ff 75 a4             	push   -0x5c(%ebp)
4748ec:	ff 75 a0             	push   -0x60(%ebp)
4748ef:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
4748f3:	8b 4d b0             	mov    -0x50(%ebp),%ecx
4748f6:	56                   	push   %esi
4748f7:	57                   	push   %edi
4748f8:	0f 85 33 01 00 00    	jne    0x474a31
4748fe:	e8 5d e5 fe ff       	call   0x462e60
474903:	8b 45 a8             	mov    -0x58(%ebp),%eax
474906:	e9 af fe ff ff       	jmp    0x4747ba
47490b:	8b 55 ac             	mov    -0x54(%ebp),%edx
47490e:	8d 45 98             	lea    -0x68(%ebp),%eax
474911:	50                   	push   %eax
474912:	52                   	push   %edx
474913:	e8 08 c2 fd ff       	call   0x450b20
474918:	83 c4 08             	add    $0x8,%esp
47491b:	89 45 a8             	mov    %eax,-0x58(%ebp)
47491e:	85 c0                	test   %eax,%eax
474920:	0f 84 92 fe ff ff    	je     0x4747b8
474926:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
47492a:	ff 75 98             	push   -0x68(%ebp)
47492d:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474930:	56                   	push   %esi
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