416d62:	75 be                	jne    0x416d22
416d64:	dd d8                	fstp   %st(0)
416d66:	db 2d da 06 42 00    	fldt   0x4206da
416d6c:	b8 02 00 00 00       	mov    $0x2,%eax
416d71:	83 3d 3c 73 42 00 00 	cmpl   $0x0,0x42733c
416d78:	0f 85 d0 11 00 00    	jne    0x417f4e
416d7e:	8d 0d 60 05 42 00    	lea    0x420560,%ecx
416d84:	ba 1b 00 00 00       	mov    $0x1b,%edx
416d89:	e8 c9 12 00 00       	call   0x418057
416d8e:	5a                   	pop    %edx
416d8f:	c3                   	ret
416d90:	83 3d 28 74 42 00 00 	cmpl   $0x0,0x427428
416d97:	0f 84 ea 14 00 00    	je     0x418287
416d9d:	83 ec 08             	sub    $0x8,%esp
416da0:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
416da5:	8b 44 24 04          	mov    0x4(%esp),%eax
416da9:	25 80 7f 00 00       	and    $0x7f80,%eax
416dae:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
416db3:	75 0f                	jne    0x416dc4
416db5:	d9 3c 24             	fnstcw (%esp)
416db8:	66 8b 04 24          	mov    (%esp),%ax
416dbc:	66 83 e0 7f          	and    $0x7f,%ax
416dc0:	66 83 f8 7f          	cmp    $0x7f,%ax
416dc4:	8d 64 24 08          	lea    0x8(%esp),%esp
416dc8:	0f 85 b9 14 00 00    	jne    0x418287
416dce:	eb 00                	jmp    0x416dd0
416dd0:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
416dd6:	66 0f 28 15 80 05 42 	movapd 0x420580,%xmm2
416ddd:	00
416dde:	66 0f 28 c8          	movapd %xmm0,%xmm1
416de2:	66 0f 28 f8          	movapd %xmm0,%xmm7
416de6:	66 0f 73 d0 34       	psrlq  $0x34,%xmm0
416deb:	66 0f 7e c0          	movd   %xmm0,%eax
416def:	66 0f 54 05 a0 05 42 	andpd  0x4205a0,%xmm0
416df6:	00
416df7:	66 0f fa d0          	psubd  %xmm0,%xmm2
416dfb:	66 0f d3 ca          	psrlq  %xmm2,%xmm1
416dff:	a9 00 08 00 00       	test   $0x800,%eax
416e04:	74 4c                	je     0x416e52
416e06:	3d ff 0b 00 00       	cmp    $0xbff,%eax
416e0b:	7c 7d                	jl     0x416e8a
416e0d:	66 0f f3 ca          	psllq  %xmm2,%xmm1
416e11:	3d 32 0c 00 00       	cmp    $0xc32,%eax
416e16:	7f 0b                	jg     0x416e23
416e18:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
416e1e:	dd 44 24 04          	fldl   0x4(%esp)
416e22:	c3                   	ret
416e23:	66 0f 2e ff          	ucomisd %xmm7,%xmm7
416e27:	7b 24                	jnp    0x416e4d
416e29:	ba ec 03 00 00       	mov    $0x3ec,%edx
416e2e:	83 ec 10             	sub    $0x10,%esp
416e31:	89 54 24 0c          	mov    %edx,0xc(%esp)
416e35:	8b d4                	mov    %esp,%edx
416e37:	83 c2 14             	add    $0x14,%edx
416e3a:	89 54 24 08          	mov    %edx,0x8(%esp)
416e3e:	89 54 24 04          	mov    %edx,0x4(%esp)
416e42:	89 14 24             	mov    %edx,(%esp)
416e45:	e8 49 12 00 00       	call   0x418093
416e4a:	83 c4 10             	add    $0x10,%esp
416e4d:	dd 44 24 04          	fldl   0x4(%esp)
416e51:	c3                   	ret
416e52:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
416e58:	66 0f f3 ca          	psllq  %xmm2,%xmm1
416e5c:	66 0f 28 d8          	movapd %xmm0,%xmm3
416e60:	66 0f c2 c1 06       	cmpnlepd %xmm1,%xmm0
416e65:	3d ff 03 00 00       	cmp    $0x3ff,%eax
416e6a:	7c 25                	jl     0x416e91
416e6c:	3d 32 04 00 00       	cmp    $0x432,%eax
416e71:	7f b0                	jg     0x416e23
416e73:	66 0f 54 05 70 05 42 	andpd  0x420570,%xmm0
416e7a:	00
416e7b:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
416e7f:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
416e85:	dd 44 24 04          	fldl   0x4(%esp)
416e89:	c3                   	ret
416e8a:	dd 05 b0 05 42 00    	fldl   0x4205b0
416e90:	c3                   	ret
416e91:	66 0f c2 1d 90 05 42 	cmpnlepd 0x420590,%xmm3
416e98:	00 06
416e9a:	66 0f 54 1d 70 05 42 	andpd  0x420570,%xmm3
416ea1:	00
416ea2:	66 0f d6 5c 24 04    	movq   %xmm3,0x4(%esp)
416ea8:	dd 44 24 04          	fldl   0x4(%esp)
416eac:	c3                   	ret
416ead:	8b ff                	mov    %edi,%edi
416eaf:	55                   	push   %ebp
416eb0:	8b ec                	mov    %esp,%ebp
416eb2:	53                   	push   %ebx
416eb3:	56                   	push   %esi
416eb4:	ba 40 80 00 00       	mov    $0x8040,%edx
416eb9:	33 f6                	xor    %esi,%esi
416ebb:	57                   	push   %edi
416ebc:	8b 7d 08             	mov    0x8(%ebp),%edi
416ebf:	8b c7                	mov    %edi,%eax
416ec1:	23 c2                	and    %edx,%eax
416ec3:	8d 4a c0             	lea    -0x40(%edx),%ecx
416ec6:	66 3b c1             	cmp    %cx,%ax
416ec9:	75 07                	jne    0x416ed2
416ecb:	bb 00 0c 00 00       	mov    $0xc00,%ebx
416ed0:	eb 19                	jmp    0x416eeb
416ed2:	66 83 f8 40          	cmp    $0x40,%ax
416ed6:	75 07                	jne    0x416edf
416ed8:	bb 00 08 00 00       	mov    $0x800,%ebx
416edd:	eb 0c                	jmp    0x416eeb
416edf:	bb 00 04 00 00       	mov    $0x400,%ebx
416ee4:	66 3b c2             	cmp    %dx,%ax
416ee7:	74 02                	je     0x416eeb
416ee9:	8b de                	mov    %esi,%ebx
416eeb:	8b c7                	mov    %edi,%eax
416eed:	b9 00 60 00 00       	mov    $0x6000,%ecx
416ef2:	23 c1                	and    %ecx,%eax
416ef4:	74 25                	je     0x416f1b
416ef6:	3d 00 20 00 00       	cmp    $0x2000,%eax
416efb:	74 19                	je     0x416f16
416efd:	3d 00 40 00 00       	cmp    $0x4000,%eax
416f02:	74 0b                	je     0x416f0f
416f04:	3b c1                	cmp    %ecx,%eax
416f06:	75 13                	jne    0x416f1b
416f08:	be 00 03 00 00       	mov    $0x300,%esi
416f0d:	eb 0c                	jmp    0x416f1b
416f0f:	be 00 02 00 00       	mov    $0x200,%esi
416f14:	eb 05                	jmp    0x416f1b
416f16:	be 00 01 00 00       	mov    $0x100,%esi
416f1b:	33 c9                	xor    %ecx,%ecx
416f1d:	8b d7                	mov    %edi,%edx
416f1f:	41                   	inc    %ecx
416f20:	c1 ea 08             	shr    $0x8,%edx
416f23:	23 d1                	and    %ecx,%edx
416f25:	8b c7                	mov    %edi,%eax
416f27:	c1 e8 07             	shr    $0x7,%eax
416f2a:	23 c1                	and    %ecx,%eax
416f2c:	c1 e2 05             	shl    $0x5,%edx
416f2f:	c1 e0 04             	shl    $0x4,%eax
416f32:	0b d0                	or     %eax,%edx
416f34:	8b c7                	mov    %edi,%eax
416f36:	c1 e8 09             	shr    $0x9,%eax
416f39:	23 c1                	and    %ecx,%eax
416f3b:	c1 e0 03             	shl    $0x3,%eax
416f3e:	0b d0                	or     %eax,%edx
416f40:	8b c7                	mov    %edi,%eax
416f42:	c1 e8 0a             	shr    $0xa,%eax
416f45:	23 c1                	and    %ecx,%eax
416f47:	8b cf                	mov    %edi,%ecx
416f49:	c1 e0 02             	shl    $0x2,%eax
416f4c:	c1 e9 0b             	shr    $0xb,%ecx
416f4f:	0b c2                	or     %edx,%eax
416f51:	83 e1 01             	and    $0x1,%ecx
416f54:	c1 ef 0c             	shr    $0xc,%edi
416f57:	03 c9                	add    %ecx,%ecx
416f59:	83 e7 01             	and    $0x1,%edi
416f5c:	0b c1                	or     %ecx,%eax
416f5e:	0b c7                	or     %edi,%eax
416f60:	5f                   	pop    %edi
416f61:	0b c6                	or     %esi,%eax
416f63:	5e                   	pop    %esi
416f64:	0b c3                	or     %ebx,%eax
416f66:	5b                   	pop    %ebx
416f67:	5d                   	pop    %ebp
416f68:	c3                   	ret
416f69:	8b ff                	mov    %edi,%edi
416f6b:	55                   	push   %ebp
416f6c:	8b ec                	mov    %esp,%ebp
416f6e:	51                   	push   %ecx
416f6f:	53                   	push   %ebx
416f70:	8b 5d 08             	mov    0x8(%ebp),%ebx
416f73:	ba 00 10 00 00       	mov    $0x1000,%edx
416f78:	56                   	push   %esi
416f79:	57                   	push   %edi
416f7a:	0f b7 c3             	movzwl %bx,%eax
416f7d:	8b f8                	mov    %eax,%edi
416f7f:	89 55 fc             	mov    %edx,-0x4(%ebp)
416f82:	23 fa                	and    %edx,%edi
416f84:	8b c8                	mov    %eax,%ecx
416f86:	c1 e7 02             	shl    $0x2,%edi
416f89:	ba 00 02 00 00       	mov    $0x200,%edx
416f8e:	6a 00                	push   $0x0
416f90:	5e                   	pop    %esi
416f91:	81 e1 00 03 00 00    	and    $0x300,%ecx
416f97:	74 09                	je     0x416fa2
416f99:	3b ca                	cmp    %edx,%ecx
416f9b:	74 0c                	je     0x416fa9
416f9d:	89 75 fc             	mov    %esi,-0x4(%ebp)
416fa0:	eb 07                	jmp    0x416fa9
416fa2:	c7 45 fc 00 20 00 00 	movl   $0x2000,-0x4(%ebp)
416fa9:	b9 00 0c 00 00       	mov    $0xc00,%ecx
416fae:	23 c1                	and    %ecx,%eax
416fb0:	74 22                	je     0x416fd4
416fb2:	3d 00 04 00 00       	cmp    $0x400,%eax
416fb7:	74 16                	je     0x416fcf
416fb9:	3d 00 08 00 00       	cmp    $0x800,%eax
416fbe:	74 0b                	je     0x416fcb
416fc0:	3b c1                	cmp    %ecx,%eax
416fc2:	75 10                	jne    0x416fd4
416fc4:	be 00 03 00 00       	mov    $0x300,%esi
416fc9:	eb 09                	jmp    0x416fd4
416fcb:	8b f2                	mov    %edx,%esi
416fcd:	eb 05                	jmp    0x416fd4
416fcf:	be 00 01 00 00       	mov    $0x100,%esi
416fd4:	33 c9                	xor    %ecx,%ecx
416fd6:	8b d3                	mov    %ebx,%edx
416fd8:	41                   	inc    %ecx
416fd9:	d1 ea                	shr    $1,%edx
416fdb:	8b c3                	mov    %ebx,%eax
416fdd:	23 d1                	and    %ecx,%edx
416fdf:	c1 e8 02             	shr    $0x2,%eax
416fe2:	23 c1                	and    %ecx,%eax
416fe4:	c1 e2 05             	shl    $0x5,%edx
416fe7:	c1 e0 03             	shl    $0x3,%eax
416fea:	0b d0                	or     %eax,%edx
416fec:	8b c3                	mov    %ebx,%eax
416fee:	c1 e8 03             	shr    $0x3,%eax
416ff1:	23 c1                	and    %ecx,%eax
416ff3:	c1 e0 02             	shl    $0x2,%eax
416ff6:	0b d0                	or     %eax,%edx
416ff8:	8b c3                	mov    %ebx,%eax
416ffa:	c1 e8 04             	shr    $0x4,%eax
416ffd:	23 c1                	and    %ecx,%eax
416fff:	0f b6 cb             	movzbl %bl,%ecx
417002:	03 c0                	add    %eax,%eax
417004:	c1 eb 05             	shr    $0x5,%ebx
417007:	0b c2                	or     %edx,%eax
417009:	83 e1 01             	and    $0x1,%ecx
41700c:	c1 e1 04             	shl    $0x4,%ecx
41700f:	83 e3 01             	and    $0x1,%ebx
417012:	0b c1                	or     %ecx,%eax
417014:	0b c3                	or     %ebx,%eax
417016:	0b c7                	or     %edi,%eax
417018:	5f                   	pop    %edi
417019:	0b c6                	or     %esi,%eax
41701b:	0b 45 fc             	or     -0x4(%ebp),%eax
41701e:	5e                   	pop    %esi
41701f:	5b                   	pop    %ebx
417020:	c9                   	leave
417021:	c3                   	ret
417022:	8b ff                	mov    %edi,%edi
417024:	55                   	push   %ebp
417025:	8b ec                	mov    %esp,%ebp
417027:	8b 4d 08             	mov    0x8(%ebp),%ecx
41702a:	8b c1                	mov    %ecx,%eax
41702c:	53                   	push   %ebx
41702d:	56                   	push   %esi
41702e:	8b f1                	mov    %ecx,%esi
417030:	c1 e8 02             	shr    $0x2,%eax
417033:	81 e6 ff ff 3f c0    	and    $0xc03fffff,%esi
417039:	0b f0                	or     %eax,%esi
41703b:	b8 00 0c 00 00       	mov    $0xc00,%eax
417040:	57                   	push   %edi
417041:	23 c8                	and    %eax,%ecx
417043:	c1 ee 16             	shr    $0x16,%esi
417046:	33 ff                	xor    %edi,%edi
417048:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
41704e:	74 1c                	je     0x41706c
417050:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
417056:	74 0f                	je     0x417067
417058:	3b c8                	cmp    %eax,%ecx
41705a:	74 04                	je     0x417060
41705c:	8b df                	mov    %edi,%ebx
41705e:	eb 11                	jmp    0x417071
417060:	bb 00 80 00 00       	mov    $0x8000,%ebx
417065:	eb 0a                	jmp    0x417071
417067:	6a 40                	push   $0x40
417069:	5b                   	pop    %ebx
41706a:	eb 05                	jmp    0x417071
41706c:	bb 40 80 00 00       	mov    $0x8040,%ebx
417071:	8b c6                	mov    %esi,%eax
417073:	b9 00 03 00 00       	mov    $0x300,%ecx
417078:	23 c1                	and    %ecx,%eax
41707a:	74 25                	je     0x4170a1
41707c:	3d 00 01 00 00       	cmp    $0x100,%eax
417081:	74 19                	je     0x41709c
417083:	3d 00 02 00 00       	cmp    $0x200,%eax
417088:	74 0b                	je     0x417095
41708a:	3b c1                	cmp    %ecx,%eax
41708c:	75 13                	jne    0x4170a1
41708e:	bf 00 60 00 00       	mov    $0x6000,%edi
417093:	eb 0c                	jmp    0x4170a1
417095:	bf 00 40 00 00       	mov    $0x4000,%edi
41709a:	eb 05                	jmp    0x4170a1
41709c:	bf 00 20 00 00       	mov    $0x2000,%edi
4170a1:	33 c9                	xor    %ecx,%ecx
4170a3:	8b d6                	mov    %esi,%edx
4170a5:	41                   	inc    %ecx
4170a6:	d1 ea                	shr    $1,%edx
4170a8:	23 d1                	and    %ecx,%edx
4170aa:	8b c6                	mov    %esi,%eax
4170ac:	c1 e8 02             	shr    $0x2,%eax
4170af:	23 c1                	and    %ecx,%eax
4170b1:	c1 e2 0b             	shl    $0xb,%edx
4170b4:	c1 e0 0a             	shl    $0xa,%eax
4170b7:	0b d0                	or     %eax,%edx
4170b9:	8b c6                	mov    %esi,%eax
4170bb:	c1 e8 03             	shr    $0x3,%eax
4170be:	23 c1                	and    %ecx,%eax
4170c0:	c1 e0 09             	shl    $0x9,%eax
4170c3:	0b d0                	or     %eax,%edx
4170c5:	8b c6                	mov    %esi,%eax
4170c7:	c1 e8 05             	shr    $0x5,%eax
4170ca:	23 c1                	and    %ecx,%eax
4170cc:	8b ce                	mov    %esi,%ecx
4170ce:	c1 e0 08             	shl    $0x8,%eax
4170d1:	83 e6 01             	and    $0x1,%esi
4170d4:	c1 e9 04             	shr    $0x4,%ecx
4170d7:	0b c2                	or     %edx,%eax
4170d9:	83 e1 01             	and    $0x1,%ecx
4170dc:	c1 e6 0c             	shl    $0xc,%esi
4170df:	c1 e1 07             	shl    $0x7,%ecx
4170e2:	0b c1                	or     %ecx,%eax
4170e4:	0b c6                	or     %esi,%eax
4170e6:	0b c3                	or     %ebx,%eax
4170e8:	0b c7                	or     %edi,%eax
4170ea:	5f                   	pop    %edi
4170eb:	5e                   	pop    %esi
4170ec:	5b                   	pop    %ebx
4170ed:	5d                   	pop    %ebp
4170ee:	c3                   	ret
4170ef:	8b ff                	mov    %edi,%edi
4170f1:	55                   	push   %ebp
4170f2:	8b ec                	mov    %esp,%ebp
4170f4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4170f7:	8b d1                	mov    %ecx,%edx
4170f9:	53                   	push   %ebx
4170fa:	c1 ea 02             	shr    $0x2,%edx
4170fd:	8b c1                	mov    %ecx,%eax
4170ff:	56                   	push   %esi
417100:	57                   	push   %edi
417101:	81 e2 00 c0 0f 00    	and    $0xfc000,%edx
417107:	25 00 00 c0 00       	and    $0xc00000,%eax
41710c:	0b d0                	or     %eax,%edx
41710e:	8b f9                	mov    %ecx,%edi
417110:	c1 ea 0e             	shr    $0xe,%edx
417113:	81 e7 00 40 00 00    	and    $0x4000,%edi
417119:	6a 00                	push   $0x0
41711b:	5e                   	pop    %esi
41711c:	81 e1 00 30 00 00    	and    $0x3000,%ecx
417122:	74 13                	je     0x417137
417124:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41712a:	74 04                	je     0x417130
41712c:	8b c6                	mov    %esi,%eax
41712e:	eb 0c                	jmp    0x41713c
417130:	b8 00 02 00 00       	mov    $0x200,%eax
417135:	eb 05                	jmp    0x41713c
417137:	b8 00 03 00 00       	mov    $0x300,%eax
41713c:	0f b7 d8             	movzwl %ax,%ebx
41713f:	b9 00 03 00 00       	mov    $0x300,%ecx
417144:	8b c2                	mov    %edx,%eax
417146:	23 c1                	and    %ecx,%eax
417148:	74 25                	je     0x41716f
41714a:	3d 00 01 00 00       	cmp    $0x100,%eax
41714f:	74 19                	je     0x41716a
417151:	3d 00 02 00 00       	cmp    $0x200,%eax