415959:	74 4a                	je     0x4159a5
41595b:	83 3d 30 39 42 00 00 	cmpl   $0x0,0x423930
415962:	74 41                	je     0x4159a5
415964:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415968:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
41596c:	eb 2e                	jmp    0x41599c
41596e:	8b 45 ec             	mov    -0x14(%ebp),%eax
415971:	8b 00                	mov    (%eax),%eax
415973:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
415979:	74 0b                	je     0x415986
41597b:	81 38 1d 00 00 c0    	cmpl   $0xc000001d,(%eax)
415981:	74 03                	je     0x415986
415983:	33 c0                	xor    %eax,%eax
415985:	c3                   	ret
415986:	33 c0                	xor    %eax,%eax
415988:	40                   	inc    %eax
415989:	c3                   	ret
41598a:	8b 65 e8             	mov    -0x18(%ebp),%esp
41598d:	83 25 30 39 42 00 00 	andl   $0x0,0x423930
415994:	83 65 08 bf          	andl   $0xffffffbf,0x8(%ebp)
415998:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
41599c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4159a3:	eb 0a                	jmp    0x4159af
4159a5:	83 e0 bf             	and    $0xffffffbf,%eax
4159a8:	89 45 08             	mov    %eax,0x8(%ebp)
4159ab:	0f ae 55 08          	ldmxcsr 0x8(%ebp)
4159af:	e8 e2 e1 fe ff       	call   0x403b96
4159b4:	c3                   	ret
4159b5:	8b ff                	mov    %edi,%edi
4159b7:	55                   	push   %ebp
4159b8:	8b ec                	mov    %esp,%ebp
4159ba:	51                   	push   %ecx
4159bb:	dd 7d fc             	fnstsw -0x4(%ebp)
4159be:	db e2                	fnclex
4159c0:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
4159c4:	8b e5                	mov    %ebp,%esp
4159c6:	5d                   	pop    %ebp
4159c7:	c3                   	ret
4159c8:	8b ff                	mov    %edi,%edi
4159ca:	55                   	push   %ebp
4159cb:	8b ec                	mov    %esp,%ebp
4159cd:	51                   	push   %ecx
4159ce:	51                   	push   %ecx
4159cf:	9b d9 7d fc          	fstcw  -0x4(%ebp)
4159d3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4159d6:	8b 45 08             	mov    0x8(%ebp),%eax
4159d9:	f7 d1                	not    %ecx
4159db:	66 23 4d fc          	and    -0x4(%ebp),%cx
4159df:	23 45 0c             	and    0xc(%ebp),%eax
4159e2:	66 0b c8             	or     %ax,%cx
4159e5:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
4159e9:	d9 6d f8             	fldcw  -0x8(%ebp)
4159ec:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
4159f0:	8b e5                	mov    %ebp,%esp
4159f2:	5d                   	pop    %ebp
4159f3:	c3                   	ret
4159f4:	8b ff                	mov    %edi,%edi
4159f6:	55                   	push   %ebp
4159f7:	8b ec                	mov    %esp,%ebp
4159f9:	8b 4d 08             	mov    0x8(%ebp),%ecx
4159fc:	83 ec 0c             	sub    $0xc,%esp
4159ff:	f6 c1 01             	test   $0x1,%cl
415a02:	74 0a                	je     0x415a0e
415a04:	db 2d b0 fd 41 00    	fldt   0x41fdb0
415a0a:	db 5d fc             	fistpl -0x4(%ebp)
415a0d:	9b                   	fwait
415a0e:	f6 c1 08             	test   $0x8,%cl
415a11:	74 10                	je     0x415a23
415a13:	9b df e0             	fstsw  %ax
415a16:	db 2d b0 fd 41 00    	fldt   0x41fdb0
415a1c:	dd 5d f4             	fstpl  -0xc(%ebp)
415a1f:	9b 9b df e0          	fstsw  %ax
415a23:	f6 c1 10             	test   $0x10,%cl
415a26:	74 0a                	je     0x415a32
415a28:	db 2d bc fd 41 00    	fldt   0x41fdbc
415a2e:	dd 5d f4             	fstpl  -0xc(%ebp)
415a31:	9b                   	fwait
415a32:	f6 c1 04             	test   $0x4,%cl
415a35:	74 09                	je     0x415a40
415a37:	d9 ee                	fldz
415a39:	d9 e8                	fld1
415a3b:	de f1                	fdivp  %st,%st(1)
415a3d:	dd d8                	fstp   %st(0)
415a3f:	9b                   	fwait
415a40:	f6 c1 20             	test   $0x20,%cl
415a43:	74 06                	je     0x415a4b
415a45:	d9 eb                	fldpi
415a47:	dd 5d f4             	fstpl  -0xc(%ebp)
415a4a:	9b                   	fwait
415a4b:	8b e5                	mov    %ebp,%esp
415a4d:	5d                   	pop    %ebp
415a4e:	c3                   	ret
415a4f:	8b ff                	mov    %edi,%edi
415a51:	55                   	push   %ebp
415a52:	8b ec                	mov    %esp,%ebp
415a54:	51                   	push   %ecx
415a55:	9b dd 7d fc          	fstsw  -0x4(%ebp)
415a59:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
415a5d:	8b e5                	mov    %ebp,%esp
415a5f:	5d                   	pop    %ebp
415a60:	c3                   	ret
415a61:	8b ff                	mov    %edi,%edi
415a63:	55                   	push   %ebp
415a64:	8b ec                	mov    %esp,%ebp
415a66:	8b 4d 08             	mov    0x8(%ebp),%ecx
415a69:	33 c0                	xor    %eax,%eax
415a6b:	38 01                	cmp    %al,(%ecx)
415a6d:	74 0c                	je     0x415a7b
415a6f:	3b 45 0c             	cmp    0xc(%ebp),%eax
415a72:	74 07                	je     0x415a7b
415a74:	40                   	inc    %eax
415a75:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
415a79:	75 f4                	jne    0x415a6f
415a7b:	5d                   	pop    %ebp
415a7c:	c3                   	ret
415a7d:	8b ff                	mov    %edi,%edi
415a7f:	55                   	push   %ebp
415a80:	8b ec                	mov    %esp,%ebp
415a82:	56                   	push   %esi
415a83:	e8 4b 0b 00 00       	call   0x4165d3
415a88:	8b 75 08             	mov    0x8(%ebp),%esi
415a8b:	89 06                	mov    %eax,(%esi)
415a8d:	e8 84 0b 00 00       	call   0x416616
415a92:	89 46 04             	mov    %eax,0x4(%esi)
415a95:	33 c0                	xor    %eax,%eax
415a97:	5e                   	pop    %esi
415a98:	5d                   	pop    %ebp
415a99:	c3                   	ret
415a9a:	8b ff                	mov    %edi,%edi
415a9c:	55                   	push   %ebp
415a9d:	8b ec                	mov    %esp,%ebp
415a9f:	51                   	push   %ecx
415aa0:	51                   	push   %ecx
415aa1:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
415aa5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415aa9:	56                   	push   %esi
415aaa:	8b 75 08             	mov    0x8(%ebp),%esi
415aad:	ff 36                	push   (%esi)
415aaf:	e8 0a 0c 00 00       	call   0x4166be
415ab4:	ff 76 04             	push   0x4(%esi)
415ab7:	e8 82 0c 00 00       	call   0x41673e
415abc:	8d 45 f8             	lea    -0x8(%ebp),%eax
415abf:	50                   	push   %eax
415ac0:	e8 b8 ff ff ff       	call   0x415a7d
415ac5:	8b 06                	mov    (%esi),%eax
415ac7:	83 c4 0c             	add    $0xc,%esp
415aca:	3b 45 f8             	cmp    -0x8(%ebp),%eax
415acd:	75 0c                	jne    0x415adb
415acf:	8b 46 04             	mov    0x4(%esi),%eax
415ad2:	3b 45 fc             	cmp    -0x4(%ebp),%eax
415ad5:	75 04                	jne    0x415adb
415ad7:	33 c0                	xor    %eax,%eax
415ad9:	eb 03                	jmp    0x415ade
415adb:	33 c0                	xor    %eax,%eax
415add:	40                   	inc    %eax
415ade:	5e                   	pop    %esi
415adf:	8b e5                	mov    %ebp,%esp
415ae1:	5d                   	pop    %ebp
415ae2:	c3                   	ret
415ae3:	8b ff                	mov    %edi,%edi
415ae5:	55                   	push   %ebp
415ae6:	8b ec                	mov    %esp,%ebp
415ae8:	51                   	push   %ecx
415ae9:	51                   	push   %ecx
415aea:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
415aee:	8d 45 f8             	lea    -0x8(%ebp),%eax
415af1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
415af5:	50                   	push   %eax
415af6:	e8 82 ff ff ff       	call   0x415a7d
415afb:	59                   	pop    %ecx
415afc:	85 c0                	test   %eax,%eax
415afe:	74 05                	je     0x415b05
415b00:	33 c0                	xor    %eax,%eax
415b02:	40                   	inc    %eax
415b03:	eb 29                	jmp    0x415b2e
415b05:	8b 4d 08             	mov    0x8(%ebp),%ecx
415b08:	8b 55 f8             	mov    -0x8(%ebp),%edx
415b0b:	8b 45 fc             	mov    -0x4(%ebp),%eax
415b0e:	89 41 04             	mov    %eax,0x4(%ecx)
415b11:	8d 45 f8             	lea    -0x8(%ebp),%eax
415b14:	89 11                	mov    %edx,(%ecx)
415b16:	83 ca 1f             	or     $0x1f,%edx
415b19:	50                   	push   %eax
415b1a:	89 55 f8             	mov    %edx,-0x8(%ebp)
415b1d:	e8 78 ff ff ff       	call   0x415a9a
415b22:	59                   	pop    %ecx
415b23:	85 c0                	test   %eax,%eax
415b25:	75 d9                	jne    0x415b00
415b27:	e8 85 b6 ff ff       	call   0x4111b1
415b2c:	33 c0                	xor    %eax,%eax
415b2e:	8b e5                	mov    %ebp,%esp
415b30:	5d                   	pop    %ebp
415b31:	c3                   	ret
415b32:	cc                   	int3
415b33:	cc                   	int3
415b34:	cc                   	int3
415b35:	cc                   	int3
415b36:	cc                   	int3
415b37:	cc                   	int3
415b38:	cc                   	int3
415b39:	cc                   	int3
415b3a:	cc                   	int3
415b3b:	cc                   	int3
415b3c:	cc                   	int3
415b3d:	cc                   	int3
415b3e:	cc                   	int3
415b3f:	cc                   	int3
415b40:	83 3d 88 47 42 00 00 	cmpl   $0x0,0x424788
415b47:	0f 84 82 00 00 00    	je     0x415bcf
415b4d:	83 ec 08             	sub    $0x8,%esp
415b50:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
415b55:	8b 44 24 04          	mov    0x4(%esp),%eax
415b59:	25 80 7f 00 00       	and    $0x7f80,%eax
415b5e:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
415b63:	75 0f                	jne    0x415b74
415b65:	d9 3c 24             	fnstcw (%esp)
415b68:	66 8b 04 24          	mov    (%esp),%ax
415b6c:	66 83 e0 7f          	and    $0x7f,%ax
415b70:	66 83 f8 7f          	cmp    $0x7f,%ax
415b74:	8d 64 24 08          	lea    0x8(%esp),%esp
415b78:	75 55                	jne    0x415bcf
415b7a:	e9 69 0c 00 00       	jmp    0x4167e8
415b7f:	90                   	nop
415b80:	83 3d 88 47 42 00 00 	cmpl   $0x0,0x424788
415b87:	74 32                	je     0x415bbb
415b89:	83 ec 08             	sub    $0x8,%esp
415b8c:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
415b91:	8b 44 24 04          	mov    0x4(%esp),%eax
415b95:	25 80 7f 00 00       	and    $0x7f80,%eax
415b9a:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
415b9f:	75 0f                	jne    0x415bb0
415ba1:	d9 3c 24             	fnstcw (%esp)
415ba4:	66 8b 04 24          	mov    (%esp),%ax
415ba8:	66 83 e0 7f          	and    $0x7f,%ax
415bac:	66 83 f8 7f          	cmp    $0x7f,%ax
415bb0:	8d 64 24 08          	lea    0x8(%esp),%esp
415bb4:	75 05                	jne    0x415bbb
415bb6:	e9 15 0c 00 00       	jmp    0x4167d0
415bbb:	83 ec 0c             	sub    $0xc,%esp
415bbe:	dd 14 24             	fstl   (%esp)
415bc1:	e8 22 13 00 00       	call   0x416ee8
415bc6:	e8 0d 00 00 00       	call   0x415bd8
415bcb:	83 c4 0c             	add    $0xc,%esp
415bce:	c3                   	ret
415bcf:	8d 54 24 04          	lea    0x4(%esp),%edx
415bd3:	e8 cd 12 00 00       	call   0x416ea5
415bd8:	52                   	push   %edx
415bd9:	9b d9 3c 24          	fstcw  (%esp)
415bdd:	74 4c                	je     0x415c2b
415bdf:	8b 44 24 0c          	mov    0xc(%esp),%eax
415be3:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
415be9:	74 06                	je     0x415bf1
415beb:	d9 2d e8 ff 41 00    	fldcw  0x41ffe8
415bf1:	a9 00 00 f0 7f       	test   $0x7ff00000,%eax
415bf6:	74 5e                	je     0x415c56
415bf8:	a9 00 00 00 80       	test   $0x80000000,%eax
415bfd:	75 41                	jne    0x415c40
415bff:	d9 ec                	fldlg2
415c01:	d9 c9                	fxch   %st(1)
415c03:	d9 f1                	fyl2x
415c05:	83 3d e8 46 42 00 00 	cmpl   $0x0,0x4246e8
415c0c:	0f 85 ec 12 00 00    	jne    0x416efe
415c12:	8d 0d d0 fd 41 00    	lea    0x41fdd0,%ecx
415c18:	ba 1b 00 00 00       	mov    $0x1b,%edx
415c1d:	e9 e9 12 00 00       	jmp    0x416f0b
415c22:	a9 00 00 00 80       	test   $0x80000000,%eax
415c27:	75 17                	jne    0x415c40
415c29:	eb d4                	jmp    0x415bff
415c2b:	a9 ff ff 0f 00       	test   $0xfffff,%eax
415c30:	75 1d                	jne    0x415c4f
415c32:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
415c37:	75 16                	jne    0x415c4f
415c39:	25 00 00 00 80       	and    $0x80000000,%eax
415c3e:	74 c5                	je     0x415c05
415c40:	dd d8                	fstp   %st(0)
415c42:	db 2d a0 ff 41 00    	fldt   0x41ffa0
415c48:	b8 01 00 00 00       	mov    $0x1,%eax
415c4d:	eb 22                	jmp    0x415c71
415c4f:	e8 38 12 00 00       	call   0x416e8c
415c54:	eb 1b                	jmp    0x415c71
415c56:	a9 ff ff 0f 00       	test   $0xfffff,%eax
415c5b:	75 c5                	jne    0x415c22
415c5d:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
415c62:	75 be                	jne    0x415c22
415c64:	dd d8                	fstp   %st(0)
415c66:	db 2d 4a ff 41 00    	fldt   0x41ff4a
415c6c:	b8 02 00 00 00       	mov    $0x2,%eax
415c71:	83 3d e8 46 42 00 00 	cmpl   $0x0,0x4246e8
415c78:	0f 85 80 12 00 00    	jne    0x416efe
415c7e:	8d 0d d0 fd 41 00    	lea    0x41fdd0,%ecx
415c84:	ba 1b 00 00 00       	mov    $0x1b,%edx
415c89:	e8 79 13 00 00       	call   0x417007
415c8e:	5a                   	pop    %edx
415c8f:	c3                   	ret
415c90:	83 3d 88 47 42 00 00 	cmpl   $0x0,0x424788
415c97:	0f 84 be 15 00 00    	je     0x41725b
415c9d:	83 ec 08             	sub    $0x8,%esp
415ca0:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
415ca5:	8b 44 24 04          	mov    0x4(%esp),%eax
415ca9:	25 80 7f 00 00       	and    $0x7f80,%eax
415cae:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
415cb3:	75 0f                	jne    0x415cc4
415cb5:	d9 3c 24             	fnstcw (%esp)
415cb8:	66 8b 04 24          	mov    (%esp),%ax
415cbc:	66 83 e0 7f          	and    $0x7f,%ax
415cc0:	66 83 f8 7f          	cmp    $0x7f,%ax
415cc4:	8d 64 24 08          	lea    0x8(%esp),%esp
415cc8:	0f 85 8d 15 00 00    	jne    0x41725b
415cce:	eb 00                	jmp    0x415cd0
415cd0:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
415cd6:	66 0f 28 15 f0 fd 41 	movapd 0x41fdf0,%xmm2
415cdd:	00
415cde:	66 0f 28 c8          	movapd %xmm0,%xmm1
415ce2:	66 0f 28 f8          	movapd %xmm0,%xmm7
415ce6:	66 0f 73 d0 34       	psrlq  $0x34,%xmm0
415ceb:	66 0f 7e c0          	movd   %xmm0,%eax
415cef:	66 0f 54 05 10 fe 41 	andpd  0x41fe10,%xmm0
415cf6:	00
415cf7:	66 0f fa d0          	psubd  %xmm0,%xmm2
415cfb:	66 0f d3 ca          	psrlq  %xmm2,%xmm1
415cff:	a9 00 08 00 00       	test   $0x800,%eax
415d04:	74 4c                	je     0x415d52
415d06:	3d ff 0b 00 00       	cmp    $0xbff,%eax
415d0b:	7c 7d                	jl     0x415d8a
415d0d:	66 0f f3 ca          	psllq  %xmm2,%xmm1
415d11:	3d 32 0c 00 00       	cmp    $0xc32,%eax
415d16:	7f 0b                	jg     0x415d23
415d18:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
415d1e:	dd 44 24 04          	fldl   0x4(%esp)
415d22:	c3                   	ret
415d23:	66 0f 2e ff          	ucomisd %xmm7,%xmm7
415d27:	7b 24                	jnp    0x415d4d
415d29:	ba ec 03 00 00       	mov    $0x3ec,%edx
415d2e:	83 ec 10             	sub    $0x10,%esp
415d31:	89 54 24 0c          	mov    %edx,0xc(%esp)
415d35:	8b d4                	mov    %esp,%edx
415d37:	83 c2 14             	add    $0x14,%edx
415d3a:	89 54 24 08          	mov    %edx,0x8(%esp)
415d3e:	89 54 24 04          	mov    %edx,0x4(%esp)
415d42:	89 14 24             	mov    %edx,(%esp)
415d45:	e8 f9 12 00 00       	call   0x417043
415d4a:	83 c4 10             	add    $0x10,%esp
415d4d:	dd 44 24 04          	fldl   0x4(%esp)
415d51:	c3                   	ret
415d52:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
415d58:	66 0f f3 ca          	psllq  %xmm2,%xmm1
415d5c:	66 0f 28 d8          	movapd %xmm0,%xmm3
415d60:	66 0f c2 c1 06       	cmpnlepd %xmm1,%xmm0
415d65:	3d ff 03 00 00       	cmp    $0x3ff,%eax
415d6a:	7c 25                	jl     0x415d91