416b8f:	85 ff                	test   %edi,%edi
416b91:	74 02                	je     0x416b95
416b93:	89 17                	mov    %edx,(%edi)
416b95:	83 26 00             	andl   $0x0,(%esi)
416b98:	83 66 04 00          	andl   $0x0,0x4(%esi)
416b9c:	f7 da                	neg    %edx
416b9e:	1b d2                	sbb    %edx,%edx
416ba0:	23 d3                	and    %ebx,%edx
416ba2:	8b c2                	mov    %edx,%eax
416ba4:	eb 07                	jmp    0x416bad
416ba6:	56                   	push   %esi
416ba7:	e8 41 e1 ff ff       	call   0x414ced
416bac:	59                   	pop    %ecx
416bad:	8b 4d fc             	mov    -0x4(%ebp),%ecx
416bb0:	5f                   	pop    %edi
416bb1:	5e                   	pop    %esi
416bb2:	33 cd                	xor    %ebp,%ecx
416bb4:	5b                   	pop    %ebx
416bb5:	e8 3b 20 ff ff       	call   0x408bf5
416bba:	c9                   	leave
416bbb:	c3                   	ret
416bbc:	8b ff                	mov    %edi,%edi
416bbe:	55                   	push   %ebp
416bbf:	8b ec                	mov    %esp,%ebp
416bc1:	56                   	push   %esi
416bc2:	e8 25 06 00 00       	call   0x4171ec
416bc7:	8b 75 08             	mov    0x8(%ebp),%esi
416bca:	89 06                	mov    %eax,(%esi)
416bcc:	e8 9b 06 00 00       	call   0x41726c
416bd1:	89 46 04             	mov    %eax,0x4(%esi)
416bd4:	33 c0                	xor    %eax,%eax
416bd6:	5e                   	pop    %esi
416bd7:	5d                   	pop    %ebp
416bd8:	c3                   	ret
416bd9:	8b ff                	mov    %edi,%edi
416bdb:	55                   	push   %ebp
416bdc:	8b ec                	mov    %esp,%ebp
416bde:	51                   	push   %ecx
416bdf:	51                   	push   %ecx
416be0:	56                   	push   %esi
416be1:	8b 75 08             	mov    0x8(%ebp),%esi
416be4:	ff 36                	push   (%esi)
416be6:	e8 39 07 00 00       	call   0x417324
416beb:	ff 76 04             	push   0x4(%esi)
416bee:	e8 99 07 00 00       	call   0x41738c
416bf3:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
416bf7:	8d 45 f8             	lea    -0x8(%ebp),%eax
416bfa:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
416bfe:	50                   	push   %eax
416bff:	e8 b8 ff ff ff       	call   0x416bbc
416c04:	83 c4 0c             	add    $0xc,%esp
416c07:	85 c0                	test   %eax,%eax
416c09:	75 13                	jne    0x416c1e
416c0b:	8b 06                	mov    (%esi),%eax
416c0d:	3b 45 f8             	cmp    -0x8(%ebp),%eax
416c10:	75 0c                	jne    0x416c1e
416c12:	8b 46 04             	mov    0x4(%esi),%eax
416c15:	3b 45 fc             	cmp    -0x4(%ebp),%eax
416c18:	75 04                	jne    0x416c1e
416c1a:	33 c0                	xor    %eax,%eax
416c1c:	eb 03                	jmp    0x416c21
416c1e:	33 c0                	xor    %eax,%eax
416c20:	40                   	inc    %eax
416c21:	5e                   	pop    %esi
416c22:	c9                   	leave
416c23:	c3                   	ret
416c24:	8b ff                	mov    %edi,%edi
416c26:	55                   	push   %ebp
416c27:	8b ec                	mov    %esp,%ebp
416c29:	51                   	push   %ecx
416c2a:	51                   	push   %ecx
416c2b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
416c2f:	8d 45 f8             	lea    -0x8(%ebp),%eax
416c32:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
416c36:	50                   	push   %eax
416c37:	e8 80 ff ff ff       	call   0x416bbc
416c3c:	59                   	pop    %ecx
416c3d:	85 c0                	test   %eax,%eax
416c3f:	75 2b                	jne    0x416c6c
416c41:	8b 4d 08             	mov    0x8(%ebp),%ecx
416c44:	8b 55 f8             	mov    -0x8(%ebp),%edx
416c47:	8b 45 fc             	mov    -0x4(%ebp),%eax
416c4a:	89 41 04             	mov    %eax,0x4(%ecx)
416c4d:	8d 45 f8             	lea    -0x8(%ebp),%eax
416c50:	89 11                	mov    %edx,(%ecx)
416c52:	83 ca 1f             	or     $0x1f,%edx
416c55:	50                   	push   %eax
416c56:	89 55 f8             	mov    %edx,-0x8(%ebp)
416c59:	e8 7b ff ff ff       	call   0x416bd9
416c5e:	59                   	pop    %ecx
416c5f:	85 c0                	test   %eax,%eax
416c61:	75 09                	jne    0x416c6c
416c63:	e8 03 b3 ff ff       	call   0x411f6b
416c68:	33 c0                	xor    %eax,%eax
416c6a:	c9                   	leave
416c6b:	c3                   	ret
416c6c:	33 c0                	xor    %eax,%eax
416c6e:	40                   	inc    %eax
416c6f:	c9                   	leave
416c70:	c3                   	ret
416c71:	cc                   	int3
416c72:	cc                   	int3
416c73:	cc                   	int3
416c74:	cc                   	int3
416c75:	cc                   	int3
416c76:	cc                   	int3
416c77:	cc                   	int3
416c78:	cc                   	int3
416c79:	cc                   	int3
416c7a:	cc                   	int3
416c7b:	cc                   	int3
416c7c:	cc                   	int3
416c7d:	cc                   	int3
416c7e:	cc                   	int3
416c7f:	cc                   	int3
416c80:	83 3d 28 74 42 00 00 	cmpl   $0x0,0x427428
416c87:	74 32                	je     0x416cbb
416c89:	83 ec 08             	sub    $0x8,%esp
416c8c:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
416c91:	8b 44 24 04          	mov    0x4(%esp),%eax
416c95:	25 80 7f 00 00       	and    $0x7f80,%eax
416c9a:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
416c9f:	75 0f                	jne    0x416cb0
416ca1:	d9 3c 24             	fnstcw (%esp)
416ca4:	66 8b 04 24          	mov    (%esp),%ax
416ca8:	66 83 e0 7f          	and    $0x7f,%ax
416cac:	66 83 f8 7f          	cmp    $0x7f,%ax
416cb0:	8d 64 24 08          	lea    0x8(%esp),%esp
416cb4:	75 05                	jne    0x416cbb
416cb6:	e9 e5 0a 00 00       	jmp    0x4177a0
416cbb:	83 ec 0c             	sub    $0xc,%esp
416cbe:	dd 14 24             	fstl   (%esp)
416cc1:	e8 72 12 00 00       	call   0x417f38
416cc6:	e8 0d 00 00 00       	call   0x416cd8
416ccb:	83 c4 0c             	add    $0xc,%esp
416cce:	c3                   	ret
416ccf:	8d 54 24 04          	lea    0x4(%esp),%edx
416cd3:	e8 1d 12 00 00       	call   0x417ef5
416cd8:	52                   	push   %edx
416cd9:	9b d9 3c 24          	fstcw  (%esp)
416cdd:	74 4c                	je     0x416d2b
416cdf:	8b 44 24 0c          	mov    0xc(%esp),%eax
416ce3:	66 81 3c 24 7f 02    	cmpw   $0x27f,(%esp)
416ce9:	74 06                	je     0x416cf1
416ceb:	d9 2d 78 07 42 00    	fldcw  0x420778
416cf1:	a9 00 00 f0 7f       	test   $0x7ff00000,%eax
416cf6:	74 5e                	je     0x416d56
416cf8:	a9 00 00 00 80       	test   $0x80000000,%eax
416cfd:	75 41                	jne    0x416d40
416cff:	d9 ec                	fldlg2
416d01:	d9 c9                	fxch   %st(1)
416d03:	d9 f1                	fyl2x
416d05:	83 3d 3c 73 42 00 00 	cmpl   $0x0,0x42733c
416d0c:	0f 85 3c 12 00 00    	jne    0x417f4e
416d12:	8d 0d 60 05 42 00    	lea    0x420560,%ecx
416d18:	ba 1b 00 00 00       	mov    $0x1b,%edx
416d1d:	e9 39 12 00 00       	jmp    0x417f5b
416d22:	a9 00 00 00 80       	test   $0x80000000,%eax
416d27:	75 17                	jne    0x416d40
416d29:	eb d4                	jmp    0x416cff
416d2b:	a9 ff ff 0f 00       	test   $0xfffff,%eax
416d30:	75 1d                	jne    0x416d4f
416d32:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
416d37:	75 16                	jne    0x416d4f
416d39:	25 00 00 00 80       	and    $0x80000000,%eax
416d3e:	74 c5                	je     0x416d05
416d40:	dd d8                	fstp   %st(0)
416d42:	db 2d 30 07 42 00    	fldt   0x420730
416d48:	b8 01 00 00 00       	mov    $0x1,%eax
416d4d:	eb 22                	jmp    0x416d71
416d4f:	e8 88 11 00 00       	call   0x417edc
416d54:	eb 1b                	jmp    0x416d71
416d56:	a9 ff ff 0f 00       	test   $0xfffff,%eax
416d5b:	75 c5                	jne    0x416d22
416d5d:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
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