416be7:	8b 4f 04             	mov    0x4(%edi),%ecx
416bea:	8b 07                	mov    (%edi),%eax
416bec:	33 db                	xor    %ebx,%ebx
416bee:	3b cb                	cmp    %ebx,%ecx
416bf0:	0f 8c ef 01 00 00    	jl     0x416de5
416bf6:	7f 08                	jg     0x416c00
416bf8:	3b c3                	cmp    %ebx,%eax
416bfa:	0f 82 e5 01 00 00    	jb     0x416de5
416c00:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
416c06:	0f 8f d9 01 00 00    	jg     0x416de5
416c0c:	7c 08                	jl     0x416c16
416c0e:	3b c3                	cmp    %ebx,%eax
416c10:	0f 87 cf 01 00 00    	ja     0x416de5
416c16:	56                   	push   %esi
416c17:	e8 a1 6e 00 00       	call   0x41dabd
416c1c:	8b 4f 04             	mov    0x4(%edi),%ecx
416c1f:	3b cb                	cmp    %ebx,%ecx
416c21:	8b 37                	mov    (%edi),%esi
416c23:	7c 65                	jl     0x416c8a
416c25:	7f 08                	jg     0x416c2f
416c27:	81 fe 80 f4 03 00    	cmp    $0x3f480,%esi
416c2d:	76 5b                	jbe    0x416c8a
416c2f:	a1 08 8f 4a 00       	mov    0x4a8f08,%eax
416c34:	99                   	cltd
416c35:	2b f0                	sub    %eax,%esi
416c37:	8d 45 f8             	lea    -0x8(%ebp),%eax
416c3a:	1b ca                	sbb    %edx,%ecx
416c3c:	50                   	push   %eax
416c3d:	89 75 f8             	mov    %esi,-0x8(%ebp)
416c40:	89 4d fc             	mov    %ecx,-0x4(%ebp)
416c43:	e8 34 6f 00 00       	call   0x41db7c
416c48:	39 1d 0c 8f 4a 00    	cmp    %ebx,0x4a8f0c
416c4e:	59                   	pop    %ecx
416c4f:	8b f0                	mov    %eax,%esi
416c51:	0f 84 89 01 00 00    	je     0x416de0
416c57:	56                   	push   %esi
416c58:	e8 e1 6e 00 00       	call   0x41db3e
416c5d:	85 c0                	test   %eax,%eax
416c5f:	59                   	pop    %ecx
416c60:	0f 84 7a 01 00 00    	je     0x416de0
416c66:	a1 10 8f 4a 00       	mov    0x4a8f10,%eax
416c6b:	99                   	cltd
416c6c:	29 45 f8             	sub    %eax,-0x8(%ebp)
416c6f:	8d 45 f8             	lea    -0x8(%ebp),%eax
416c72:	50                   	push   %eax
416c73:	19 55 fc             	sbb    %edx,-0x4(%ebp)
416c76:	e8 01 6f 00 00       	call   0x41db7c
416c7b:	8b f0                	mov    %eax,%esi
416c7d:	59                   	pop    %ecx
416c7e:	c7 46 20 01 00 00 00 	movl   $0x1,0x20(%esi)
416c85:	e9 56 01 00 00       	jmp    0x416de0
416c8a:	57                   	push   %edi
416c8b:	e8 ec 6e 00 00       	call   0x41db7c
416c90:	39 1d 0c 8f 4a 00    	cmp    %ebx,0x4a8f0c
416c96:	59                   	pop    %ecx
416c97:	8b f0                	mov    %eax,%esi
416c99:	74 39                	je     0x416cd4
416c9b:	56                   	push   %esi
416c9c:	e8 9d 6e 00 00       	call   0x41db3e
416ca1:	85 c0                	test   %eax,%eax
416ca3:	59                   	pop    %ecx
416ca4:	74 2e                	je     0x416cd4
416ca6:	8b 0d 10 8f 4a 00    	mov    0x4a8f10,%ecx
416cac:	a1 08 8f 4a 00       	mov    0x4a8f08,%eax
416cb1:	03 c1                	add    %ecx,%eax
416cb3:	99                   	cltd
416cb4:	8b c8                	mov    %eax,%ecx
416cb6:	8b 06                	mov    (%esi),%eax
416cb8:	8b fa                	mov    %edx,%edi
416cba:	99                   	cltd
416cbb:	2b c1                	sub    %ecx,%eax
416cbd:	1b d7                	sbb    %edi,%edx
416cbf:	89 45 f8             	mov    %eax,-0x8(%ebp)
416cc2:	89 55 fc             	mov    %edx,-0x4(%ebp)
416cc5:	c7 46 20 01 00 00 00 	movl   $0x1,0x20(%esi)
416ccc:	8b 7d fc             	mov    -0x4(%ebp),%edi
416ccf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
416cd2:	eb 17                	jmp    0x416ceb
416cd4:	8b 06                	mov    (%esi),%eax
416cd6:	99                   	cltd
416cd7:	8b c8                	mov    %eax,%ecx
416cd9:	a1 08 8f 4a 00       	mov    0x4a8f08,%eax
416cde:	8b fa                	mov    %edx,%edi
416ce0:	99                   	cltd
416ce1:	2b c8                	sub    %eax,%ecx
416ce3:	1b fa                	sbb    %edx,%edi
416ce5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
416ce8:	89 7d fc             	mov    %edi,-0x4(%ebp)
416ceb:	53                   	push   %ebx
416cec:	6a 3c                	push   $0x3c
416cee:	57                   	push   %edi
416cef:	51                   	push   %ecx
416cf0:	e8 bb 70 00 00       	call   0x41ddb0
416cf5:	3b c3                	cmp    %ebx,%eax
416cf7:	89 06                	mov    %eax,(%esi)
416cf9:	7d 0d                	jge    0x416d08
416cfb:	83 c0 3c             	add    $0x3c,%eax
416cfe:	89 06                	mov    %eax,(%esi)
416d00:	83 45 f8 c4          	addl   $0xffffffc4,-0x8(%ebp)
416d04:	83 55 fc ff          	adcl   $0xffffffff,-0x4(%ebp)
416d08:	53                   	push   %ebx
416d09:	6a 3c                	push   $0x3c
416d0b:	ff 75 fc             	push   -0x4(%ebp)
416d0e:	ff 75 f8             	push   -0x8(%ebp)
416d11:	e8 ba 2f 00 00       	call   0x419cd0
416d16:	8b c8                	mov    %eax,%ecx
416d18:	8b 46 04             	mov    0x4(%esi),%eax
416d1b:	8b fa                	mov    %edx,%edi
416d1d:	99                   	cltd
416d1e:	03 c8                	add    %eax,%ecx
416d20:	53                   	push   %ebx
416d21:	13 fa                	adc    %edx,%edi
416d23:	6a 3c                	push   $0x3c
416d25:	57                   	push   %edi
416d26:	51                   	push   %ecx
416d27:	89 4d f8             	mov    %ecx,-0x8(%ebp)
416d2a:	89 7d fc             	mov    %edi,-0x4(%ebp)
416d2d:	e8 7e 70 00 00       	call   0x41ddb0
416d32:	3b c3                	cmp    %ebx,%eax
416d34:	89 46 04             	mov    %eax,0x4(%esi)
416d37:	7d 0e                	jge    0x416d47
416d39:	83 c0 3c             	add    $0x3c,%eax
416d3c:	89 46 04             	mov    %eax,0x4(%esi)
416d3f:	83 45 f8 c4          	addl   $0xffffffc4,-0x8(%ebp)
416d43:	83 55 fc ff          	adcl   $0xffffffff,-0x4(%ebp)
416d47:	53                   	push   %ebx
416d48:	6a 3c                	push   $0x3c
416d4a:	ff 75 fc             	push   -0x4(%ebp)
416d4d:	ff 75 f8             	push   -0x8(%ebp)
416d50:	e8 7b 2f 00 00       	call   0x419cd0
416d55:	8b c8                	mov    %eax,%ecx
416d57:	8b 46 08             	mov    0x8(%esi),%eax
416d5a:	8b fa                	mov    %edx,%edi
416d5c:	99                   	cltd
416d5d:	03 c8                	add    %eax,%ecx
416d5f:	53                   	push   %ebx
416d60:	13 fa                	adc    %edx,%edi
416d62:	6a 18                	push   $0x18
416d64:	57                   	push   %edi
416d65:	51                   	push   %ecx
416d66:	89 4d f8             	mov    %ecx,-0x8(%ebp)
416d69:	89 7d fc             	mov    %edi,-0x4(%ebp)
416d6c:	e8 3f 70 00 00       	call   0x41ddb0
416d71:	3b c3                	cmp    %ebx,%eax
416d73:	89 46 08             	mov    %eax,0x8(%esi)
416d76:	7d 0e                	jge    0x416d86
416d78:	83 c0 18             	add    $0x18,%eax
416d7b:	89 46 08             	mov    %eax,0x8(%esi)
416d7e:	83 45 f8 e8          	addl   $0xffffffe8,-0x8(%ebp)
416d82:	83 55 fc ff          	adcl   $0xffffffff,-0x4(%ebp)
416d86:	53                   	push   %ebx
416d87:	6a 18                	push   $0x18
416d89:	ff 75 fc             	push   -0x4(%ebp)
416d8c:	ff 75 f8             	push   -0x8(%ebp)
416d8f:	e8 3c 2f 00 00       	call   0x419cd0
416d94:	3b d3                	cmp    %ebx,%edx
416d96:	89 45 f8             	mov    %eax,-0x8(%ebp)
416d99:	89 55 fc             	mov    %edx,-0x4(%ebp)
416d9c:	7f 42                	jg     0x416de0
416d9e:	7c 04                	jl     0x416da4
416da0:	3b c3                	cmp    %ebx,%eax
416da2:	73 3c                	jae    0x416de0
416da4:	8b 4e 18             	mov    0x18(%esi),%ecx
416da7:	8d 44 01 07          	lea    0x7(%ecx,%eax,1),%eax
416dab:	99                   	cltd
416dac:	6a 07                	push   $0x7
416dae:	59                   	pop    %ecx
416daf:	f7 f9                	idiv   %ecx
416db1:	89 56 18             	mov    %edx,0x18(%esi)
416db4:	8b 45 f8             	mov    -0x8(%ebp),%eax
416db7:	01 46 0c             	add    %eax,0xc(%esi)
416dba:	8b 46 0c             	mov    0xc(%esi),%eax
416dbd:	3b c3                	cmp    %ebx,%eax
416dbf:	7f 19                	jg     0x416dda
416dc1:	83 c0 1f             	add    $0x1f,%eax
416dc4:	ff 4e 14             	decl   0x14(%esi)
416dc7:	89 46 0c             	mov    %eax,0xc(%esi)
416dca:	c7 46 1c 6c 01 00 00 	movl   $0x16c,0x1c(%esi)
416dd1:	c7 46 10 0b 00 00 00 	movl   $0xb,0x10(%esi)
416dd8:	eb 06                	jmp    0x416de0
416dda:	8b 45 f8             	mov    -0x8(%ebp),%eax
416ddd:	01 46 1c             	add    %eax,0x1c(%esi)
416de0:	8b c6                	mov    %esi,%eax
416de2:	5e                   	pop    %esi
416de3:	eb 02                	jmp    0x416de7
416de5:	33 c0                	xor    %eax,%eax
416de7:	5f                   	pop    %edi
416de8:	5b                   	pop    %ebx
416de9:	c9                   	leave
416dea:	c3                   	ret
416deb:	cc                   	int3
416dec:	55                   	push   %ebp
416ded:	8b ec                	mov    %esp,%ebp
416def:	83 ec 20             	sub    $0x20,%esp
416df2:	83 e4 f0             	and    $0xfffffff0,%esp
416df5:	d9 c0                	fld    %st(0)
416df7:	d9 54 24 18          	fsts   0x18(%esp)
416dfb:	df 7c 24 10          	fistpll 0x10(%esp)
416dff:	df 6c 24 10          	fildll 0x10(%esp)
416e03:	8b 54 24 18          	mov    0x18(%esp),%edx
416e07:	8b 44 24 10          	mov    0x10(%esp),%eax
416e0b:	85 c0                	test   %eax,%eax
416e0d:	74 3c                	je     0x416e4b
416e0f:	de e9                	fsubrp %st,%st(1)
416e11:	85 d2                	test   %edx,%edx
416e13:	79 1e                	jns    0x416e33
416e15:	d9 1c 24             	fstps  (%esp)
416e18:	8b 0c 24             	mov    (%esp),%ecx
416e1b:	81 f1 00 00 00 80    	xor    $0x80000000,%ecx
416e21:	81 c1 ff ff ff 7f    	add    $0x7fffffff,%ecx
416e27:	83 d0 00             	adc    $0x0,%eax
416e2a:	8b 54 24 14          	mov    0x14(%esp),%edx
416e2e:	83 d2 00             	adc    $0x0,%edx
416e31:	eb 2c                	jmp    0x416e5f
416e33:	d9 1c 24             	fstps  (%esp)
416e36:	8b 0c 24             	mov    (%esp),%ecx
416e39:	81 c1 ff ff ff 7f    	add    $0x7fffffff,%ecx
416e3f:	83 d8 00             	sbb    $0x0,%eax
416e42:	8b 54 24 14          	mov    0x14(%esp),%edx
416e46:	83 da 00             	sbb    $0x0,%edx
416e49:	eb 14                	jmp    0x416e5f
416e4b:	8b 54 24 14          	mov    0x14(%esp),%edx
416e4f:	f7 c2 ff ff ff 7f    	test   $0x7fffffff,%edx
416e55:	75 b8                	jne    0x416e0f
416e57:	d9 5c 24 18          	fstps  0x18(%esp)
416e5b:	d9 5c 24 18          	fstps  0x18(%esp)
416e5f:	c9                   	leave
416e60:	c3                   	ret
416e61:	cc                   	int3
416e62:	cc                   	int3
416e63:	cc                   	int3
416e64:	cc                   	int3
416e65:	cc                   	int3
416e66:	cc                   	int3
416e67:	cc                   	int3
416e68:	cc                   	int3
416e69:	cc                   	int3
416e6a:	cc                   	int3
416e6b:	cc                   	int3
416e6c:	cc                   	int3
416e6d:	cc                   	int3
416e6e:	cc                   	int3
416e6f:	cc                   	int3
416e70:	83 3d 04 e1 4a 00 00 	cmpl   $0x0,0x4ae104
416e77:	0f 84 8a 73 00 00    	je     0x41e207
416e7d:	83 ec 08             	sub    $0x8,%esp
416e80:	0f ae 5c 24 04       	stmxcsr 0x4(%esp)
416e85:	8b 44 24 04          	mov    0x4(%esp),%eax
416e89:	25 80 1f 00 00       	and    $0x1f80,%eax
416e8e:	3d 80 1f 00 00       	cmp    $0x1f80,%eax
416e93:	75 0f                	jne    0x416ea4
416e95:	d9 3c 24             	fnstcw (%esp)
416e98:	66 8b 04 24          	mov    (%esp),%ax
416e9c:	66 83 e0 7f          	and    $0x7f,%ax
416ea0:	66 83 f8 7f          	cmp    $0x7f,%ax
416ea4:	8d 64 24 08          	lea    0x8(%esp),%esp
416ea8:	0f 85 59 73 00 00    	jne    0x41e207
416eae:	eb 00                	jmp    0x416eb0
416eb0:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
416eb6:	66 0f 28 15 d0 1b 49 	movapd 0x491bd0,%xmm2
416ebd:	00
416ebe:	66 0f 28 c8          	movapd %xmm0,%xmm1
416ec2:	66 0f 28 f8          	movapd %xmm0,%xmm7
416ec6:	66 0f 73 d0 34       	psrlq  $0x34,%xmm0
416ecb:	66 0f 7e c0          	movd   %xmm0,%eax
416ecf:	66 0f 54 05 f0 1b 49 	andpd  0x491bf0,%xmm0
416ed6:	00
416ed7:	66 0f fa d0          	psubd  %xmm0,%xmm2
416edb:	66 0f d3 ca          	psrlq  %xmm2,%xmm1
416edf:	a9 00 08 00 00       	test   $0x800,%eax
416ee4:	74 4c                	je     0x416f32
416ee6:	3d ff 0b 00 00       	cmp    $0xbff,%eax
416eeb:	7c 7d                	jl     0x416f6a
416eed:	66 0f f3 ca          	psllq  %xmm2,%xmm1
416ef1:	3d 32 0c 00 00       	cmp    $0xc32,%eax
416ef6:	7f 0b                	jg     0x416f03
416ef8:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
416efe:	dd 44 24 04          	fldl   0x4(%esp)
416f02:	c3                   	ret
416f03:	66 0f 2e ff          	ucomisd %xmm7,%xmm7
416f07:	7b 24                	jnp    0x416f2d
416f09:	ba ec 03 00 00       	mov    $0x3ec,%edx
416f0e:	83 ec 10             	sub    $0x10,%esp
416f11:	89 54 24 0c          	mov    %edx,0xc(%esp)
416f15:	8b d4                	mov    %esp,%edx
416f17:	83 c2 14             	add    $0x14,%edx
416f1a:	89 54 24 08          	mov    %edx,0x8(%esp)
416f1e:	89 54 24 04          	mov    %edx,0x4(%esp)
416f22:	89 14 24             	mov    %edx,(%esp)
416f25:	e8 38 6f 00 00       	call   0x41de62
416f2a:	83 c4 10             	add    $0x10,%esp
416f2d:	dd 44 24 04          	fldl   0x4(%esp)
416f31:	c3                   	ret
416f32:	f3 0f 7e 44 24 04    	movq   0x4(%esp),%xmm0
416f38:	66 0f f3 ca          	psllq  %xmm2,%xmm1
416f3c:	66 0f 28 d8          	movapd %xmm0,%xmm3
416f40:	66 0f c2 c1 06       	cmpnlepd %xmm1,%xmm0
416f45:	3d ff 03 00 00       	cmp    $0x3ff,%eax
416f4a:	7c 25                	jl     0x416f71
416f4c:	3d 32 04 00 00       	cmp    $0x432,%eax
416f51:	7f b0                	jg     0x416f03
416f53:	66 0f 54 05 c0 1b 49 	andpd  0x491bc0,%xmm0
416f5a:	00
416f5b:	f2 0f 58 c8          	addsd  %xmm0,%xmm1
416f5f:	66 0f d6 4c 24 04    	movq   %xmm1,0x4(%esp)
416f65:	dd 44 24 04          	fldl   0x4(%esp)
416f69:	c3                   	ret
416f6a:	dd 05 00 1c 49 00    	fldl   0x491c00
416f70:	c3                   	ret
416f71:	66 0f c2 1d e0 1b 49 	cmpnlepd 0x491be0,%xmm3
416f78:	00 06
416f7a:	66 0f 54 1d c0 1b 49 	andpd  0x491bc0,%xmm3
416f81:	00
416f82:	66 0f d6 5c 24 04    	movq   %xmm3,0x4(%esp)
416f88:	dd 44 24 04          	fldl   0x4(%esp)
416f8c:	c3                   	ret
416f8d:	55                   	push   %ebp
416f8e:	8b ec                	mov    %esp,%ebp
416f90:	83 ec 20             	sub    $0x20,%esp
416f93:	56                   	push   %esi
416f94:	8b 75 08             	mov    0x8(%ebp),%esi
416f97:	57                   	push   %edi
416f98:	ff 75 10             	push   0x10(%ebp)
416f9b:	8d 45 e0             	lea    -0x20(%ebp),%eax
416f9e:	ff 75 0c             	push   0xc(%ebp)
416fa1:	c7 45 e4 ff ff ff 7f 	movl   $0x7fffffff,-0x1c(%ebp)
416fa8:	50                   	push   %eax
416fa9:	c7 45 ec 42 00 00 00 	movl   $0x42,-0x14(%ebp)
416fb0:	89 75 e8             	mov    %esi,-0x18(%ebp)
416fb3:	89 75 e0             	mov    %esi,-0x20(%ebp)
416fb6:	e8 e5 74 00 00       	call   0x41e4a0
416fbb:	83 c4 0c             	add    $0xc,%esp
416fbe:	85 f6                	test   %esi,%esi
416fc0:	8b f8                	mov    %eax,%edi
416fc2:	74 1a                	je     0x416fde
416fc4:	ff 4d e4             	decl   -0x1c(%ebp)
416fc7:	78 08                	js     0x416fd1
416fc9:	8b 45 e0             	mov    -0x20(%ebp),%eax
416fcc:	c6 00 00             	movb   $0x0,(%eax)
416fcf:	eb 0d                	jmp    0x416fde
416fd1:	8d 45 e0             	lea    -0x20(%ebp),%eax
416fd4:	50                   	push   %eax
416fd5:	6a 00                	push   $0x0
416fd7:	e8 fe 72 00 00       	call   0x41e2da
416fdc:	59                   	pop    %ecx
416fdd:	59                   	pop    %ecx
416fde:	8b c7                	mov    %edi,%eax
416fe0:	5f                   	pop    %edi
416fe1:	5e                   	pop    %esi
416fe2:	c9                   	leave