4158c9:	e8 59 10 00 00       	call   0x416927
4158ce:	5a                   	pop    %edx
4158cf:	c3                   	ret
4158d0:	83 3d 74 25 42 00 00 	cmpl   $0x0,0x422574
4158d7:	0f 84 7a 12 00 00    	je     0x416b57
4158dd:	83 ec 08             	sub    $0x8,%esp
4158e0:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
4158e5:	8b 44 24 04          	mov    0x4(%esp),%eax
4158e9:	25 80 7f 00 00       	and    $0x7f80,%eax
4158ee:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
4158f3:	75 0f                	jne    0x415904
4158f5:	d9 3c 24             	fnstcw (%esp)
4158f8:	66 8b 04 24          	mov    (%esp),%ax
4158fc:	66 83 e0 7f          	and    $0x7f,%ax
415900:	66 83 f8 7f          	cmp    $0x7f,%ax
415904:	8d 64 24 08          	lea    0x8(%esp),%esp
415908:	0f 85 49 12 00 00    	jne    0x416b57
41590e:	eb 00                	jmp    0x415910
415910:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
415916:	66 0f 28 15 a0 e2 41 	movapd 0x41e2a0,%xmm2
41591d:	00
41591e:	66 0f 28 c8          	movapd %xmm0,%xmm1
415922:	66 0f 28 f8          	movapd %xmm0,%xmm7
415926:	66 0f 73 d0 34       	psrlq  $0x34,%xmm0
41592b:	66 0f 7e c0          	movd   %xmm0,%eax
41592f:	66 0f 54 05 c0 e2 41 	andpd  0x41e2c0,%xmm0
415936:	00
415937:	66 0f fa d0          	psubd  %xmm0,%xmm2
41593b:	66 0f d3 ca          	psrlq  %xmm2,%xmm1
41593f:	a9 00 08 00 00       	test   $0x800,%eax
415944:	74 4c                	je     0x415992
415946:	3d ff 0b 00 00       	cmp    $0xbff,%eax
41594b:	7c 7d                	jl     0x4159ca
41594d:	66 0f f3 ca          	psllq  %xmm2,%xmm1
415951:	3d 32 0c 00 00       	cmp    $0xc32,%eax
415956:	7f 0b                	jg     0x415963
415958:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
41595e:	dd 44 24 04          	fldl   0x4(%esp)
415962:	c3                   	ret
415963:	66 0f 2e ff          	ucomisd %xmm7,%xmm7
415967:	7b 24                	jnp    0x41598d
415969:	ba ec 03 00 00       	mov    $0x3ec,%edx
41596e:	83 ec 10             	sub    $0x10,%esp
415971:	89 54 24 0c          	mov    %edx,0xc(%esp)
415975:	8b d4                	mov    %esp,%edx
415977:	83 c2 14             	add    $0x14,%edx
41597a:	89 54 24 08          	mov    %edx,0x8(%esp)
41597e:	89 54 24 04          	mov    %edx,0x4(%esp)
415982:	89 14 24             	mov    %edx,(%esp)
415985:	e8 d9 0f 00 00       	call   0x416963
41598a:	83 c4 10             	add    $0x10,%esp
41598d:	dd 44 24 04          	fldl   0x4(%esp)
415991:	c3                   	ret
415992:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
415998:	66 0f f3 ca          	psllq  %xmm2,%xmm1
41599c:	66 0f 28 d8          	movapd %xmm0,%xmm3
4159a0:	66 0f c2 c1 06       	cmpnlepd %xmm1,%xmm0
4159a5:	3d ff 03 00 00       	cmp    $0x3ff,%eax
4159aa:	7c 25                	jl     0x4159d1
4159ac:	3d 32 04 00 00       	cmp    $0x432,%eax
4159b1:	7f b0                	jg     0x415963
4159b3:	66 0f 54 05 90 e2 41 	andpd  0x41e290,%xmm0
4159ba:	00
4159bb:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
4159bf:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
4159c5:	dd 44 24 04          	fldl   0x4(%esp)
4159c9:	c3                   	ret
4159ca:	dd 05 d0 e2 41 00    	fldl   0x41e2d0
4159d0:	c3                   	ret
4159d1:	66 0f c2 1d b0 e2 41 	cmpnlepd 0x41e2b0,%xmm3
4159d8:	00 06
4159da:	66 0f 54 1d 90 e2 41 	andpd  0x41e290,%xmm3
4159e1:	00
4159e2:	66 0f d6 5c 24 04    	movq   %xmm3,0x4(%esp)
4159e8:	dd 44 24 04          	fldl   0x4(%esp)
4159ec:	c3                   	ret
4159ed:	8b ff                	mov    %edi,%edi
4159ef:	55                   	push   %ebp
4159f0:	8b ec                	mov    %esp,%ebp
4159f2:	53                   	push   %ebx
4159f3:	56                   	push   %esi
4159f4:	ba 40 80 00 00       	mov    $0x8040,%edx
4159f9:	33 f6                	xor    %esi,%esi
4159fb:	57                   	push   %edi
4159fc:	8b 7d 08             	mov    0x8(%ebp),%edi
4159ff:	8b c7                	mov    %edi,%eax
415a01:	23 c2                	and    %edx,%eax
415a03:	8d 4a c0             	lea    -0x40(%edx),%ecx
415a06:	66 3b c1             	cmp    %cx,%ax
415a09:	75 07                	jne    0x415a12
415a0b:	bb 00 0c 00 00       	mov    $0xc00,%ebx
415a10:	eb 19                	jmp    0x415a2b
415a12:	66 83 f8 40          	cmp    $0x40,%ax
415a16:	75 07                	jne    0x415a1f
415a18:	bb 00 08 00 00       	mov    $0x800,%ebx
415a1d:	eb 0c                	jmp    0x415a2b
415a1f:	bb 00 04 00 00       	mov    $0x400,%ebx
415a24:	66 3b c2             	cmp    %dx,%ax
415a27:	74 02                	je     0x415a2b
415a29:	8b de                	mov    %esi,%ebx
415a2b:	8b c7                	mov    %edi,%eax
415a2d:	b9 00 60 00 00       	mov    $0x6000,%ecx
415a32:	23 c1                	and    %ecx,%eax
415a34:	74 25                	je     0x415a5b
415a36:	3d 00 20 00 00       	cmp    $0x2000,%eax
415a3b:	74 19                	je     0x415a56
415a3d:	3d 00 40 00 00       	cmp    $0x4000,%eax
415a42:	74 0b                	je     0x415a4f
415a44:	3b c1                	cmp    %ecx,%eax
415a46:	75 13                	jne    0x415a5b
415a48:	be 00 03 00 00       	mov    $0x300,%esi
415a4d:	eb 0c                	jmp    0x415a5b
415a4f:	be 00 02 00 00       	mov    $0x200,%esi
415a54:	eb 05                	jmp    0x415a5b
415a56:	be 00 01 00 00       	mov    $0x100,%esi
415a5b:	8b d7                	mov    %edi,%edx
415a5d:	b9 00 04 00 00       	mov    $0x400,%ecx
415a62:	c1 ea 02             	shr    $0x2,%edx
415a65:	8b c7                	mov    %edi,%eax
415a67:	25 00 08 00 00       	and    $0x800,%eax
415a6c:	23 d1                	and    %ecx,%edx
415a6e:	0b d0                	or     %eax,%edx
415a70:	8b c7                	mov    %edi,%eax
415a72:	23 c1                	and    %ecx,%eax
415a74:	c1 ea 02             	shr    $0x2,%edx
415a77:	0b c2                	or     %edx,%eax
415a79:	8b cf                	mov    %edi,%ecx
415a7b:	c1 e8 02             	shr    $0x2,%eax
415a7e:	81 e1 00 02 00 00    	and    $0x200,%ecx
415a84:	0b c1                	or     %ecx,%eax
415a86:	81 e7 80 01 00 00    	and    $0x180,%edi
415a8c:	c1 e8 03             	shr    $0x3,%eax
415a8f:	0b c7                	or     %edi,%eax
415a91:	c1 e8 03             	shr    $0x3,%eax
415a94:	0b c3                	or     %ebx,%eax
415a96:	5f                   	pop    %edi
415a97:	0b c6                	or     %esi,%eax
415a99:	5e                   	pop    %esi
415a9a:	5b                   	pop    %ebx
415a9b:	5d                   	pop    %ebp
415a9c:	c3                   	ret
415a9d:	8b ff                	mov    %edi,%edi
415a9f:	55                   	push   %ebp
415aa0:	8b ec                	mov    %esp,%ebp
415aa2:	51                   	push   %ecx
415aa3:	53                   	push   %ebx
415aa4:	56                   	push   %esi
415aa5:	57                   	push   %edi
415aa6:	8b 7d 08             	mov    0x8(%ebp),%edi
415aa9:	ba 00 10 00 00       	mov    $0x1000,%edx
415aae:	0f b7 c7             	movzwl %di,%eax
415ab1:	8b d8                	mov    %eax,%ebx
415ab3:	89 55 fc             	mov    %edx,-0x4(%ebp)
415ab6:	23 da                	and    %edx,%ebx
415ab8:	8b c8                	mov    %eax,%ecx
415aba:	c1 e3 02             	shl    $0x2,%ebx
415abd:	ba 00 02 00 00       	mov    $0x200,%edx
415ac2:	6a 00                	push   $0x0
415ac4:	5e                   	pop    %esi
415ac5:	81 e1 00 03 00 00    	and    $0x300,%ecx
415acb:	74 09                	je     0x415ad6
415acd:	3b ca                	cmp    %edx,%ecx
415acf:	74 0c                	je     0x415add
415ad1:	89 75 fc             	mov    %esi,-0x4(%ebp)
415ad4:	eb 07                	jmp    0x415add
415ad6:	c7 45 fc 00 20 00 00 	movl   $0x2000,-0x4(%ebp)
415add:	b9 00 0c 00 00       	mov    $0xc00,%ecx
415ae2:	23 c1                	and    %ecx,%eax
415ae4:	74 22                	je     0x415b08
415ae6:	3d 00 04 00 00       	cmp    $0x400,%eax
415aeb:	74 16                	je     0x415b03
415aed:	3d 00 08 00 00       	cmp    $0x800,%eax
415af2:	74 0b                	je     0x415aff
415af4:	3b c1                	cmp    %ecx,%eax
415af6:	75 10                	jne    0x415b08
415af8:	be 00 03 00 00       	mov    $0x300,%esi
415afd:	eb 09                	jmp    0x415b08
415aff:	8b f2                	mov    %edx,%esi
415b01:	eb 05                	jmp    0x415b08
415b03:	be 00 01 00 00       	mov    $0x100,%esi
415b08:	8b d7                	mov    %edi,%edx
415b0a:	8b c7                	mov    %edi,%eax
415b0c:	83 e0 10             	and    $0x10,%eax
415b0f:	c1 ea 02             	shr    $0x2,%edx
415b12:	83 e2 08             	and    $0x8,%edx
415b15:	8b cf                	mov    %edi,%ecx
415b17:	0b d0                	or     %eax,%edx
415b19:	83 e1 02             	and    $0x2,%ecx
415b1c:	8b c7                	mov    %edi,%eax
415b1e:	c1 ea 02             	shr    $0x2,%edx
415b21:	83 e0 08             	and    $0x8,%eax
415b24:	c1 e1 03             	shl    $0x3,%ecx
415b27:	0b d0                	or     %eax,%edx
415b29:	8b c7                	mov    %edi,%eax
415b2b:	83 e0 04             	and    $0x4,%eax
415b2e:	d1 ea                	shr    $1,%edx
415b30:	0b c1                	or     %ecx,%eax
415b32:	83 e7 01             	and    $0x1,%edi
415b35:	03 c0                	add    %eax,%eax
415b37:	c1 e7 04             	shl    $0x4,%edi
415b3a:	0b c2                	or     %edx,%eax
415b3c:	0b c7                	or     %edi,%eax
415b3e:	0b c3                	or     %ebx,%eax
415b40:	0b 45 fc             	or     -0x4(%ebp),%eax
415b43:	5f                   	pop    %edi
415b44:	0b c6                	or     %esi,%eax
415b46:	5e                   	pop    %esi
415b47:	5b                   	pop    %ebx
415b48:	c9                   	leave
415b49:	c3                   	ret
415b4a:	8b ff                	mov    %edi,%edi
415b4c:	55                   	push   %ebp
415b4d:	8b ec                	mov    %esp,%ebp
415b4f:	8b 4d 08             	mov    0x8(%ebp),%ecx
415b52:	8b c1                	mov    %ecx,%eax
415b54:	53                   	push   %ebx
415b55:	56                   	push   %esi
415b56:	8b f1                	mov    %ecx,%esi
415b58:	c1 e8 02             	shr    $0x2,%eax
415b5b:	81 e6 ff ff 3f c0    	and    $0xc03fffff,%esi
415b61:	0b f0                	or     %eax,%esi
415b63:	b8 00 0c 00 00       	mov    $0xc00,%eax
415b68:	57                   	push   %edi
415b69:	23 c8                	and    %eax,%ecx
415b6b:	c1 ee 16             	shr    $0x16,%esi
415b6e:	33 ff                	xor    %edi,%edi
415b70:	81 f9 00 04 00 00    	cmp    $0x400,%ecx
415b76:	74 1c                	je     0x415b94
415b78:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
415b7e:	74 0f                	je     0x415b8f
415b80:	3b c8                	cmp    %eax,%ecx
415b82:	74 04                	je     0x415b88
415b84:	8b df                	mov    %edi,%ebx
415b86:	eb 11                	jmp    0x415b99
415b88:	bb 00 80 00 00       	mov    $0x8000,%ebx
415b8d:	eb 0a                	jmp    0x415b99
415b8f:	6a 40                	push   $0x40
415b91:	5b                   	pop    %ebx
415b92:	eb 05                	jmp    0x415b99
415b94:	bb 40 80 00 00       	mov    $0x8040,%ebx
415b99:	8b c6                	mov    %esi,%eax
415b9b:	b9 00 03 00 00       	mov    $0x300,%ecx
415ba0:	23 c1                	and    %ecx,%eax
415ba2:	74 25                	je     0x415bc9
415ba4:	3d 00 01 00 00       	cmp    $0x100,%eax
415ba9:	74 19                	je     0x415bc4
415bab:	3d 00 02 00 00       	cmp    $0x200,%eax
415bb0:	74 0b                	je     0x415bbd
415bb2:	3b c1                	cmp    %ecx,%eax
415bb4:	75 13                	jne    0x415bc9
415bb6:	bf 00 60 00 00       	mov    $0x6000,%edi
415bbb:	eb 0c                	jmp    0x415bc9
415bbd:	bf 00 40 00 00       	mov    $0x4000,%edi
415bc2:	eb 05                	jmp    0x415bc9
415bc4:	bf 00 20 00 00       	mov    $0x2000,%edi
415bc9:	8b d6                	mov    %esi,%edx
415bcb:	8b c6                	mov    %esi,%eax
415bcd:	83 e0 02             	and    $0x2,%eax
415bd0:	83 e2 01             	and    $0x1,%edx
415bd3:	c1 e2 02             	shl    $0x2,%edx
415bd6:	8b ce                	mov    %esi,%ecx
415bd8:	0b d0                	or     %eax,%edx
415bda:	83 e1 08             	and    $0x8,%ecx
415bdd:	8b c6                	mov    %esi,%eax
415bdf:	c1 e2 02             	shl    $0x2,%edx
415be2:	83 e0 04             	and    $0x4,%eax
415be5:	83 e6 30             	and    $0x30,%esi
415be8:	0b c2                	or     %edx,%eax
415bea:	c1 e0 02             	shl    $0x2,%eax
415bed:	0b c1                	or     %ecx,%eax
415bef:	c1 e0 03             	shl    $0x3,%eax
415bf2:	0b c6                	or     %esi,%eax
415bf4:	c1 e0 03             	shl    $0x3,%eax
415bf7:	0b c3                	or     %ebx,%eax
415bf9:	0b c7                	or     %edi,%eax
415bfb:	5f                   	pop    %edi
415bfc:	5e                   	pop    %esi
415bfd:	5b                   	pop    %ebx
415bfe:	5d                   	pop    %ebp
415bff:	c3                   	ret
415c00:	8b ff                	mov    %edi,%edi
415c02:	55                   	push   %ebp
415c03:	8b ec                	mov    %esp,%ebp
415c05:	51                   	push   %ecx
415c06:	8b 4d 08             	mov    0x8(%ebp),%ecx
415c09:	ba 00 03 00 00       	mov    $0x300,%edx
415c0e:	53                   	push   %ebx
415c0f:	56                   	push   %esi
415c10:	8b f1                	mov    %ecx,%esi
415c12:	8b c1                	mov    %ecx,%eax
415c14:	c1 ee 02             	shr    $0x2,%esi
415c17:	25 00 00 c0 00       	and    $0xc00000,%eax
415c1c:	81 e6 00 c0 0f 00    	and    $0xfc000,%esi
415c22:	bb 00 10 00 00       	mov    $0x1000,%ebx
415c27:	0b f0                	or     %eax,%esi
415c29:	8b c1                	mov    %ecx,%eax
415c2b:	57                   	push   %edi
415c2c:	c1 e8 02             	shr    $0x2,%eax
415c2f:	23 c3                	and    %ebx,%eax
415c31:	c1 ee 0e             	shr    $0xe,%esi
415c34:	89 45 fc             	mov    %eax,-0x4(%ebp)
415c37:	6a 00                	push   $0x0
415c39:	5f                   	pop    %edi
415c3a:	81 e1 00 30 00 00    	and    $0x3000,%ecx
415c40:	74 0f                	je     0x415c51
415c42:	3b cb                	cmp    %ebx,%ecx
415c44:	74 04                	je     0x415c4a
415c46:	8b df                	mov    %edi,%ebx
415c48:	eb 09                	jmp    0x415c53
415c4a:	bb 00 02 00 00       	mov    $0x200,%ebx
415c4f:	eb 02                	jmp    0x415c53
415c51:	8b da                	mov    %edx,%ebx
415c53:	8b c6                	mov    %esi,%eax
415c55:	23 c2                	and    %edx,%eax
415c57:	74 25                	je     0x415c7e
415c59:	3d 00 01 00 00       	cmp    $0x100,%eax
415c5e:	74 19                	je     0x415c79
415c60:	3d 00 02 00 00       	cmp    $0x200,%eax
415c65:	74 0b                	je     0x415c72
415c67:	3b c2                	cmp    %edx,%eax
415c69:	75 13                	jne    0x415c7e
415c6b:	bf 00 0c 00 00       	mov    $0xc00,%edi
415c70:	eb 0c                	jmp    0x415c7e
415c72:	bf 00 08 00 00       	mov    $0x800,%edi
415c77:	eb 05                	jmp    0x415c7e
415c79:	bf 00 04 00 00       	mov    $0x400,%edi
415c7e:	8b d6                	mov    %esi,%edx
415c80:	8b c6                	mov    %esi,%eax
415c82:	83 e0 02             	and    $0x2,%eax
415c85:	83 e2 01             	and    $0x1,%edx
415c88:	c1 e2 02             	shl    $0x2,%edx
415c8b:	8b ce                	mov    %esi,%ecx
415c8d:	0b d0                	or     %eax,%edx
415c8f:	c1 e9 04             	shr    $0x4,%ecx
415c92:	8b c6                	mov    %esi,%eax
415c94:	c1 e2 02             	shl    $0x2,%edx
415c97:	83 e0 04             	and    $0x4,%eax
415c9a:	d1 ee                	shr    $1,%esi
415c9c:	0b c2                	or     %edx,%eax
415c9e:	83 e1 03             	and    $0x3,%ecx
415ca1:	03 c0                	add    %eax,%eax
415ca3:	83 e6 04             	and    $0x4,%esi
415ca6:	0b c1                	or     %ecx,%eax
415ca8:	0b c6                	or     %esi,%eax
415caa:	0b 45 fc             	or     -0x4(%ebp),%eax
415cad:	0b c3                	or     %ebx,%eax
415caf:	0b c7                	or     %edi,%eax
415cb1:	5f                   	pop    %edi
415cb2:	5e                   	pop    %esi
415cb3:	5b                   	pop    %ebx