449969:	75 2f                	jne    0x44999a
44996b:	8b d3                	mov    %ebx,%edx
44996d:	85 db                	test   %ebx,%ebx
44996f:	74 13                	je     0x449984
449971:	2b f0                	sub    %eax,%esi
449973:	66 8b 0c 06          	mov    (%esi,%eax,1),%cx
449977:	66 3b 08             	cmp    (%eax),%cx
44997a:	75 1b                	jne    0x449997
44997c:	83 c0 02             	add    $0x2,%eax
44997f:	83 ea 01             	sub    $0x1,%edx
449982:	75 ef                	jne    0x449973
449984:	8b 45 08             	mov    0x8(%ebp),%eax
449987:	8b 0f                	mov    (%edi),%ecx
449989:	5e                   	pop    %esi
44998a:	5b                   	pop    %ebx
44998b:	89 78 04             	mov    %edi,0x4(%eax)
44998e:	89 08                	mov    %ecx,(%eax)
449990:	5f                   	pop    %edi
449991:	8b e5                	mov    %ebp,%esp
449993:	5d                   	pop    %ebp
449994:	c2 0c 00             	ret    $0xc
449997:	8b 55 0c             	mov    0xc(%ebp),%edx
44999a:	3b 7d fc             	cmp    -0x4(%ebp),%edi
44999d:	74 05                	je     0x4499a4
44999f:	8b 7f 04             	mov    0x4(%edi),%edi
4499a2:	eb ac                	jmp    0x449950
4499a4:	8b 45 08             	mov    0x8(%ebp),%eax
4499a7:	5e                   	pop    %esi
4499a8:	5b                   	pop    %ebx
4499a9:	89 38                	mov    %edi,(%eax)
4499ab:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
4499b2:	5f                   	pop    %edi
4499b3:	8b e5                	mov    %ebp,%esp
4499b5:	5d                   	pop    %ebp
4499b6:	c2 0c 00             	ret    $0xc
4499b9:	cc                   	int3
4499ba:	cc                   	int3
4499bb:	cc                   	int3
4499bc:	cc                   	int3
4499bd:	cc                   	int3
4499be:	cc                   	int3
4499bf:	cc                   	int3
4499c0:	55                   	push   %ebp
4499c1:	8b ec                	mov    %esp,%ebp
4499c3:	6a ff                	push   $0xffffffff
4499c5:	68 50 d0 64 00       	push   $0x64d050
4499ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4499d0:	50                   	push   %eax
4499d1:	83 ec 18             	sub    $0x18,%esp
4499d4:	53                   	push   %ebx
4499d5:	56                   	push   %esi
4499d6:	57                   	push   %edi
4499d7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4499dc:	33 c5                	xor    %ebp,%eax
4499de:	50                   	push   %eax
4499df:	8d 45 f4             	lea    -0xc(%ebp),%eax
4499e2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4499e8:	8b f9                	mov    %ecx,%edi
4499ea:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4499ed:	8b 45 0c             	mov    0xc(%ebp),%eax
4499f0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4499f3:	89 45 f0             	mov    %eax,-0x10(%ebp)
4499f6:	89 45 ec             	mov    %eax,-0x14(%ebp)
4499f9:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
4499fd:	72 05                	jb     0x449a04
4499ff:	8b 08                	mov    (%eax),%ecx
449a01:	89 4d ec             	mov    %ecx,-0x14(%ebp)
449a04:	8b 50 10             	mov    0x10(%eax),%edx
449a07:	be c5 9d 1c 81       	mov    $0x811c9dc5,%esi
449a0c:	b9 00 00 00 00       	mov    $0x0,%ecx
449a11:	03 d2                	add    %edx,%edx
449a13:	74 1a                	je     0x449a2f
449a15:	8b 7d ec             	mov    -0x14(%ebp),%edi
449a18:	0f b6 04 39          	movzbl (%ecx,%edi,1),%eax
449a1c:	41                   	inc    %ecx
449a1d:	33 c6                	xor    %esi,%eax
449a1f:	69 f0 93 01 00 01    	imul   $0x1000193,%eax,%esi
449a25:	3b ca                	cmp    %edx,%ecx
449a27:	72 ef                	jb     0x449a18
449a29:	8b 7d e4             	mov    -0x1c(%ebp),%edi
449a2c:	8b 45 f0             	mov    -0x10(%ebp),%eax
449a2f:	56                   	push   %esi
449a30:	50                   	push   %eax
449a31:	8d 45 e8             	lea    -0x18(%ebp),%eax
449a34:	8b cf                	mov    %edi,%ecx
449a36:	50                   	push   %eax
449a37:	e8 d4 fe ff ff       	call   0x449910
449a3c:	8b 45 ec             	mov    -0x14(%ebp),%eax
449a3f:	85 c0                	test   %eax,%eax
449a41:	74 0b                	je     0x449a4e
449a43:	89 03                	mov    %eax,(%ebx)
449a45:	c6 43 04 00          	movb   $0x0,0x4(%ebx)
449a49:	e9 66 01 00 00       	jmp    0x449bb4
449a4e:	81 7f 08 24 49 92 04 	cmpl   $0x4924924,0x8(%edi)
449a55:	0f 84 6f 01 00 00    	je     0x449bca
449a5b:	8d 47 04             	lea    0x4(%edi),%eax
449a5e:	89 45 dc             	mov    %eax,-0x24(%ebp)
449a61:	6a 38                	push   $0x38
449a63:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
449a6a:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
449a71:	e8 cc 75 19 00       	call   0x5e1042
449a76:	83 c4 04             	add    $0x4,%esp
449a79:	8b f8                	mov    %eax,%edi
449a7b:	89 7d e0             	mov    %edi,-0x20(%ebp)
449a7e:	ff 75 f0             	push   -0x10(%ebp)
449a81:	8d 4f 08             	lea    0x8(%edi),%ecx
449a84:	e8 f7 eb fe ff       	call   0x438680
449a89:	33 c9                	xor    %ecx,%ecx
449a8b:	c7 47 30 00 00 00 00 	movl   $0x0,0x30(%edi)
449a92:	c7 47 34 07 00 00 00 	movl   $0x7,0x34(%edi)
449a99:	66 89 4f 20          	mov    %cx,0x20(%edi)
449a9d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
449aa0:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
449aa7:	8b 42 08             	mov    0x8(%edx),%eax
449aaa:	40                   	inc    %eax
449aab:	f3 0f 10 1a          	movss  (%edx),%xmm3
449aaf:	66 0f 6e c0          	movd   %eax,%xmm0
449ab3:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
449ab7:	c1 e8 1f             	shr    $0x1f,%eax
449aba:	f2 0f 58 04 c5 50 bb 	addsd  0x68bb50(,%eax,8),%xmm0
449ac1:	68 00
449ac3:	8b 42 1c             	mov    0x1c(%edx),%eax
449ac6:	89 45 f0             	mov    %eax,-0x10(%ebp)
449ac9:	66 0f 5a d0          	cvtpd2ps %xmm0,%xmm2
449acd:	66 0f 6e c0          	movd   %eax,%xmm0
449ad1:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
449ad5:	c1 e8 1f             	shr    $0x1f,%eax
449ad8:	0f 28 ca             	movaps %xmm2,%xmm1
449adb:	f2 0f 58 04 c5 50 bb 	addsd  0x68bb50(,%eax,8),%xmm0
449ae2:	68 00
449ae4:	66 0f 5a c0          	cvtpd2ps %xmm0,%xmm0
449ae8:	f3 0f 5e c8          	divss  %xmm0,%xmm1
449aec:	0f 2f cb             	comiss %xmm3,%xmm1
449aef:	76 76                	jbe    0x449b67
449af1:	f3 0f 5e d3          	divss  %xmm3,%xmm2
449af5:	83 ec 08             	sub    $0x8,%esp
449af8:	0f 5a c2             	cvtps2pd %xmm2,%xmm0
449afb:	f2 0f 11 45 e8       	movsd  %xmm0,-0x18(%ebp)
449b00:	dd 45 e8             	fldl   -0x18(%ebp)
449b03:	dd 1c 24             	fstpl  (%esp)
449b06:	e8 85 4b 1a 00       	call   0x5ee690
449b0b:	dd 5d e8             	fstpl  -0x18(%ebp)
449b0e:	f2 0f 10 45 e8       	movsd  -0x18(%ebp),%xmm0
449b13:	83 c4 08             	add    $0x8,%esp
449b16:	66 0f 5a c0          	cvtpd2ps %xmm0,%xmm0
449b1a:	e8 31 7a 19 00       	call   0x5e1550
449b1f:	b9 08 00 00 00       	mov    $0x8,%ecx
449b24:	3b c1                	cmp    %ecx,%eax
449b26:	0f 47 c8             	cmova  %eax,%ecx
449b29:	8b 45 f0             	mov    -0x10(%ebp),%eax
449b2c:	3b c1                	cmp    %ecx,%eax
449b2e:	73 10                	jae    0x449b40
449b30:	3d 00 02 00 00       	cmp    $0x200,%eax
449b35:	73 07                	jae    0x449b3e
449b37:	c1 e0 03             	shl    $0x3,%eax
449b3a:	3b c1                	cmp    %ecx,%eax
449b3c:	73 02                	jae    0x449b40
449b3e:	8b c1                	mov    %ecx,%eax
449b40:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
449b43:	50                   	push   %eax
449b44:	e8 27 05 00 00       	call   0x44a070
449b49:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
449b4c:	8d 47 08             	lea    0x8(%edi),%eax
449b4f:	56                   	push   %esi
449b50:	50                   	push   %eax
449b51:	8d 45 e8             	lea    -0x18(%ebp),%eax
449b54:	50                   	push   %eax
449b55:	e8 b6 fd ff ff       	call   0x449910
449b5a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
449b5d:	8b 08                	mov    (%eax),%ecx
449b5f:	8b 40 04             	mov    0x4(%eax),%eax
449b62:	89 45 ec             	mov    %eax,-0x14(%ebp)
449b65:	eb 03                	jmp    0x449b6a
449b67:	8b 4d e8             	mov    -0x18(%ebp),%ecx
449b6a:	8b 41 04             	mov    0x4(%ecx),%eax
449b6d:	ff 42 08             	incl   0x8(%edx)
449b70:	89 47 04             	mov    %eax,0x4(%edi)
449b73:	89 0f                	mov    %ecx,(%edi)
449b75:	89 38                	mov    %edi,(%eax)
449b77:	89 79 04             	mov    %edi,0x4(%ecx)
449b7a:	89 45 ec             	mov    %eax,-0x14(%ebp)
449b7d:	8b 42 18             	mov    0x18(%edx),%eax
449b80:	23 c6                	and    %esi,%eax
449b82:	89 4d f0             	mov    %ecx,-0x10(%ebp)
449b85:	8b 4a 0c             	mov    0xc(%edx),%ecx
449b88:	8b 75 dc             	mov    -0x24(%ebp),%esi
449b8b:	8b 14 c1             	mov    (%ecx,%eax,8),%edx
449b8e:	3b 16                	cmp    (%esi),%edx
449b90:	75 05                	jne    0x449b97
449b92:	89 3c c1             	mov    %edi,(%ecx,%eax,8)
449b95:	eb 13                	jmp    0x449baa
449b97:	3b 55 f0             	cmp    -0x10(%ebp),%edx
449b9a:	75 05                	jne    0x449ba1
449b9c:	89 3c c1             	mov    %edi,(%ecx,%eax,8)
449b9f:	eb 0d                	jmp    0x449bae
449ba1:	8b 55 ec             	mov    -0x14(%ebp),%edx
449ba4:	39 54 c1 04          	cmp    %edx,0x4(%ecx,%eax,8)
449ba8:	75 04                	jne    0x449bae
449baa:	89 7c c1 04          	mov    %edi,0x4(%ecx,%eax,8)
449bae:	89 3b                	mov    %edi,(%ebx)
449bb0:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
449bb4:	8b c3                	mov    %ebx,%eax
449bb6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
449bb9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
449bc0:	59                   	pop    %ecx
449bc1:	5f                   	pop    %edi
449bc2:	5e                   	pop    %esi
449bc3:	5b                   	pop    %ebx
449bc4:	8b e5                	mov    %ebp,%esp
449bc6:	5d                   	pop    %ebp
449bc7:	c2 08 00             	ret    $0x8
449bca:	68 14 bb 68 00       	push   $0x68bb14
449bcf:	e8 b6 47 18 00       	call   0x5ce38a
449bd4:	cc                   	int3
449bd5:	cc                   	int3
449bd6:	cc                   	int3
449bd7:	cc                   	int3
449bd8:	cc                   	int3
449bd9:	cc                   	int3
449bda:	cc                   	int3
449bdb:	cc                   	int3
449bdc:	cc                   	int3
449bdd:	cc                   	int3
449bde:	cc                   	int3
449bdf:	cc                   	int3
449be0:	55                   	push   %ebp
449be1:	8b ec                	mov    %esp,%ebp
449be3:	8b 45 08             	mov    0x8(%ebp),%eax
449be6:	8b 55 0c             	mov    0xc(%ebp),%edx
449be9:	56                   	push   %esi
449bea:	8b 75 10             	mov    0x10(%ebp),%esi
449bed:	3b c2                	cmp    %edx,%eax
449bef:	74 42                	je     0x449c33
449bf1:	8b ce                	mov    %esi,%ecx
449bf3:	2b c8                	sub    %eax,%ecx
449bf5:	57                   	push   %edi
449bf6:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
449bfd:	33 ff                	xor    %edi,%edi
449bff:	c7 44 01 14 00 00 00 	movl   $0x0,0x14(%ecx,%eax,1)
449c06:	00
449c07:	0f 10 00             	movups (%eax),%xmm0
449c0a:	0f 11 06             	movups %xmm0,(%esi)
449c0d:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
449c12:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
449c17:	83 c6 18             	add    $0x18,%esi
449c1a:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
449c21:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
449c28:	66 89 38             	mov    %di,(%eax)
449c2b:	83 c0 18             	add    $0x18,%eax
449c2e:	3b c2                	cmp    %edx,%eax
449c30:	75 c4                	jne    0x449bf6
449c32:	5f                   	pop    %edi
449c33:	ff 75 14             	push   0x14(%ebp)
449c36:	56                   	push   %esi
449c37:	56                   	push   %esi
449c38:	e8 d3 ee ff ff       	call   0x448b10
449c3d:	83 c4 0c             	add    $0xc,%esp
449c40:	8b c6                	mov    %esi,%eax
449c42:	5e                   	pop    %esi
449c43:	5d                   	pop    %ebp
449c44:	c3                   	ret
449c45:	cc                   	int3
449c46:	cc                   	int3
449c47:	cc                   	int3
449c48:	cc                   	int3
449c49:	cc                   	int3
449c4a:	cc                   	int3
449c4b:	cc                   	int3
449c4c:	cc                   	int3
449c4d:	cc                   	int3
449c4e:	cc                   	int3
449c4f:	cc                   	int3
449c50:	8b 41 04             	mov    0x4(%ecx),%eax
449c53:	85 c0                	test   %eax,%eax
449c55:	74 0b                	je     0x449c62
449c57:	6a 38                	push   $0x38
449c59:	50                   	push   %eax
449c5a:	e8 13 74 19 00       	call   0x5e1072
449c5f:	83 c4 08             	add    $0x8,%esp
449c62:	c3                   	ret
449c63:	cc                   	int3
449c64:	cc                   	int3
449c65:	cc                   	int3
449c66:	cc                   	int3
449c67:	cc                   	int3
449c68:	cc                   	int3
449c69:	cc                   	int3
449c6a:	cc                   	int3
449c6b:	cc                   	int3
449c6c:	cc                   	int3
449c6d:	cc                   	int3
449c6e:	cc                   	int3
449c6f:	cc                   	int3
449c70:	56                   	push   %esi
449c71:	8b f1                	mov    %ecx,%esi
449c73:	8b 46 04             	mov    0x4(%esi),%eax
449c76:	85 c0                	test   %eax,%eax
449c78:	74 0b                	je     0x449c85
449c7a:	8d 48 08             	lea    0x8(%eax),%ecx
449c7d:	e8 1e 00 00 00       	call   0x449ca0
449c82:	8b 46 04             	mov    0x4(%esi),%eax
449c85:	5e                   	pop    %esi
449c86:	85 c0                	test   %eax,%eax
449c88:	74 0b                	je     0x449c95
449c8a:	6a 38                	push   $0x38
449c8c:	50                   	push   %eax
449c8d:	e8 e0 73 19 00       	call   0x5e1072
449c92:	83 c4 08             	add    $0x8,%esp
449c95:	c3                   	ret
449c96:	cc                   	int3
449c97:	cc                   	int3
449c98:	cc                   	int3
449c99:	cc                   	int3
449c9a:	cc                   	int3
449c9b:	cc                   	int3
449c9c:	cc                   	int3
449c9d:	cc                   	int3
449c9e:	cc                   	int3
449c9f:	cc                   	int3
449ca0:	56                   	push   %esi
449ca1:	8b f1                	mov    %ecx,%esi
449ca3:	8b 4e 2c             	mov    0x2c(%esi),%ecx
449ca6:	83 f9 08             	cmp    $0x8,%ecx
449ca9:	72 2e                	jb     0x449cd9
449cab:	8b 46 18             	mov    0x18(%esi),%eax
449cae:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
449cb5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
449cbb:	72 12                	jb     0x449ccf
449cbd:	8b 50 fc             	mov    -0x4(%eax),%edx
449cc0:	83 c1 23             	add    $0x23,%ecx
449cc3:	2b c2                	sub    %edx,%eax
449cc5:	83 c0 fc             	add    $0xfffffffc,%eax
449cc8:	83 f8 1f             	cmp    $0x1f,%eax
449ccb:	77 6a                	ja     0x449d37
449ccd:	8b c2                	mov    %edx,%eax
449ccf:	51                   	push   %ecx
449cd0:	50                   	push   %eax
449cd1:	e8 9c 73 19 00       	call   0x5e1072
449cd6:	83 c4 08             	add    $0x8,%esp
449cd9:	33 c0                	xor    %eax,%eax
449cdb:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
449ce2:	c7 46 2c 07 00 00 00 	movl   $0x7,0x2c(%esi)
449ce9:	66 89 46 18          	mov    %ax,0x18(%esi)
449ced:	8b 4e 14             	mov    0x14(%esi),%ecx
449cf0:	83 f9 08             	cmp    $0x8,%ecx
449cf3:	72 2d                	jb     0x449d22
449cf5:	8b 06                	mov    (%esi),%eax
449cf7:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
449cfe:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
449d04:	72 12                	jb     0x449d18