417ab3:	91                   	xchg   %eax,%ecx
417ab4:	f7 64 24 10          	mull   0x10(%esp)
417ab8:	03 d1                	add    %ecx,%edx
417aba:	72 0e                	jb     0x417aca
417abc:	3b 54 24 0c          	cmp    0xc(%esp),%edx
417ac0:	77 08                	ja     0x417aca
417ac2:	72 0e                	jb     0x417ad2
417ac4:	3b 44 24 08          	cmp    0x8(%esp),%eax
417ac8:	76 08                	jbe    0x417ad2
417aca:	2b 44 24 10          	sub    0x10(%esp),%eax
417ace:	1b 54 24 14          	sbb    0x14(%esp),%edx
417ad2:	2b 44 24 08          	sub    0x8(%esp),%eax
417ad6:	1b 54 24 0c          	sbb    0xc(%esp),%edx
417ada:	f7 da                	neg    %edx
417adc:	f7 d8                	neg    %eax
417ade:	83 da 00             	sbb    $0x0,%edx
417ae1:	5b                   	pop    %ebx
417ae2:	c2 10 00             	ret    $0x10
417ae5:	cc                   	int3
417ae6:	cc                   	int3
417ae7:	cc                   	int3
417ae8:	cc                   	int3
417ae9:	cc                   	int3
417aea:	cc                   	int3
417aeb:	cc                   	int3
417aec:	cc                   	int3
417aed:	cc                   	int3
417aee:	cc                   	int3
417aef:	cc                   	int3
417af0:	8b 44 24 08          	mov    0x8(%esp),%eax
417af4:	8b 4c 24 10          	mov    0x10(%esp),%ecx
417af8:	0b c8                	or     %eax,%ecx
417afa:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
417afe:	75 09                	jne    0x417b09
417b00:	8b 44 24 04          	mov    0x4(%esp),%eax
417b04:	f7 e1                	mul    %ecx
417b06:	c2 10 00             	ret    $0x10
417b09:	53                   	push   %ebx
417b0a:	f7 e1                	mul    %ecx
417b0c:	8b d8                	mov    %eax,%ebx
417b0e:	8b 44 24 08          	mov    0x8(%esp),%eax
417b12:	f7 64 24 14          	mull   0x14(%esp)
417b16:	03 d8                	add    %eax,%ebx
417b18:	8b 44 24 08          	mov    0x8(%esp),%eax
417b1c:	f7 e1                	mul    %ecx
417b1e:	03 d3                	add    %ebx,%edx
417b20:	5b                   	pop    %ebx
417b21:	c2 10 00             	ret    $0x10
417b24:	cc                   	int3
417b25:	cc                   	int3
417b26:	cc                   	int3
417b27:	cc                   	int3
417b28:	cc                   	int3
417b29:	cc                   	int3
417b2a:	cc                   	int3
417b2b:	cc                   	int3
417b2c:	cc                   	int3
417b2d:	cc                   	int3
417b2e:	cc                   	int3
417b2f:	cc                   	int3
417b30:	57                   	push   %edi
417b31:	56                   	push   %esi
417b32:	53                   	push   %ebx
417b33:	33 ff                	xor    %edi,%edi
417b35:	8b 44 24 14          	mov    0x14(%esp),%eax
417b39:	0b c0                	or     %eax,%eax
417b3b:	7d 14                	jge    0x417b51
417b3d:	47                   	inc    %edi
417b3e:	8b 54 24 10          	mov    0x10(%esp),%edx
417b42:	f7 d8                	neg    %eax
417b44:	f7 da                	neg    %edx
417b46:	83 d8 00             	sbb    $0x0,%eax
417b49:	89 44 24 14          	mov    %eax,0x14(%esp)
417b4d:	89 54 24 10          	mov    %edx,0x10(%esp)
417b51:	8b 44 24 1c          	mov    0x1c(%esp),%eax
417b55:	0b c0                	or     %eax,%eax
417b57:	7d 14                	jge    0x417b6d
417b59:	47                   	inc    %edi
417b5a:	8b 54 24 18          	mov    0x18(%esp),%edx
417b5e:	f7 d8                	neg    %eax
417b60:	f7 da                	neg    %edx
417b62:	83 d8 00             	sbb    $0x0,%eax
417b65:	89 44 24 1c          	mov    %eax,0x1c(%esp)
417b69:	89 54 24 18          	mov    %edx,0x18(%esp)
417b6d:	0b c0                	or     %eax,%eax
417b6f:	75 18                	jne    0x417b89
417b71:	8b 4c 24 18          	mov    0x18(%esp),%ecx
417b75:	8b 44 24 14          	mov    0x14(%esp),%eax
417b79:	33 d2                	xor    %edx,%edx
417b7b:	f7 f1                	div    %ecx
417b7d:	8b d8                	mov    %eax,%ebx
417b7f:	8b 44 24 10          	mov    0x10(%esp),%eax
417b83:	f7 f1                	div    %ecx
417b85:	8b d3                	mov    %ebx,%edx
417b87:	eb 41                	jmp    0x417bca
417b89:	8b d8                	mov    %eax,%ebx
417b8b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
417b8f:	8b 54 24 14          	mov    0x14(%esp),%edx
417b93:	8b 44 24 10          	mov    0x10(%esp),%eax
417b97:	d1 eb                	shr    $1,%ebx
417b99:	d1 d9                	rcr    $1,%ecx
417b9b:	d1 ea                	shr    $1,%edx
417b9d:	d1 d8                	rcr    $1,%eax
417b9f:	0b db                	or     %ebx,%ebx
417ba1:	75 f4                	jne    0x417b97
417ba3:	f7 f1                	div    %ecx
417ba5:	8b f0                	mov    %eax,%esi
417ba7:	f7 64 24 1c          	mull   0x1c(%esp)
417bab:	8b c8                	mov    %eax,%ecx
417bad:	8b 44 24 18          	mov    0x18(%esp),%eax
417bb1:	f7 e6                	mul    %esi
417bb3:	03 d1                	add    %ecx,%edx
417bb5:	72 0e                	jb     0x417bc5
417bb7:	3b 54 24 14          	cmp    0x14(%esp),%edx
417bbb:	77 08                	ja     0x417bc5
417bbd:	72 07                	jb     0x417bc6
417bbf:	3b 44 24 10          	cmp    0x10(%esp),%eax
417bc3:	76 01                	jbe    0x417bc6
417bc5:	4e                   	dec    %esi
417bc6:	33 d2                	xor    %edx,%edx
417bc8:	8b c6                	mov    %esi,%eax
417bca:	4f                   	dec    %edi
417bcb:	75 07                	jne    0x417bd4
417bcd:	f7 da                	neg    %edx
417bcf:	f7 d8                	neg    %eax
417bd1:	83 da 00             	sbb    $0x0,%edx
417bd4:	5b                   	pop    %ebx
417bd5:	5e                   	pop    %esi
417bd6:	5f                   	pop    %edi
417bd7:	c2 10 00             	ret    $0x10
417bda:	cc                   	int3
417bdb:	cc                   	int3
417bdc:	cc                   	int3
417bdd:	cc                   	int3
417bde:	cc                   	int3
417bdf:	cc                   	int3
417be0:	53                   	push   %ebx
417be1:	57                   	push   %edi
417be2:	33 ff                	xor    %edi,%edi
417be4:	8b 44 24 10          	mov    0x10(%esp),%eax
417be8:	0b c0                	or     %eax,%eax
417bea:	7d 14                	jge    0x417c00
417bec:	47                   	inc    %edi
417bed:	8b 54 24 0c          	mov    0xc(%esp),%edx
417bf1:	f7 d8                	neg    %eax
417bf3:	f7 da                	neg    %edx
417bf5:	83 d8 00             	sbb    $0x0,%eax
417bf8:	89 44 24 10          	mov    %eax,0x10(%esp)
417bfc:	89 54 24 0c          	mov    %edx,0xc(%esp)
417c00:	8b 44 24 18          	mov    0x18(%esp),%eax
417c04:	0b c0                	or     %eax,%eax
417c06:	7d 13                	jge    0x417c1b
417c08:	8b 54 24 14          	mov    0x14(%esp),%edx
417c0c:	f7 d8                	neg    %eax
417c0e:	f7 da                	neg    %edx
417c10:	83 d8 00             	sbb    $0x0,%eax
417c13:	89 44 24 18          	mov    %eax,0x18(%esp)
417c17:	89 54 24 14          	mov    %edx,0x14(%esp)
417c1b:	0b c0                	or     %eax,%eax
417c1d:	75 1b                	jne    0x417c3a
417c1f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
417c23:	8b 44 24 10          	mov    0x10(%esp),%eax
417c27:	33 d2                	xor    %edx,%edx
417c29:	f7 f1                	div    %ecx
417c2b:	8b 44 24 0c          	mov    0xc(%esp),%eax
417c2f:	f7 f1                	div    %ecx
417c31:	8b c2                	mov    %edx,%eax
417c33:	33 d2                	xor    %edx,%edx
417c35:	4f                   	dec    %edi
417c36:	79 4e                	jns    0x417c86
417c38:	eb 53                	jmp    0x417c8d
417c3a:	8b d8                	mov    %eax,%ebx
417c3c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
417c40:	8b 54 24 10          	mov    0x10(%esp),%edx
417c44:	8b 44 24 0c          	mov    0xc(%esp),%eax
417c48:	d1 eb                	shr    $1,%ebx
417c4a:	d1 d9                	rcr    $1,%ecx
417c4c:	d1 ea                	shr    $1,%edx
417c4e:	d1 d8                	rcr    $1,%eax
417c50:	0b db                	or     %ebx,%ebx
417c52:	75 f4                	jne    0x417c48
417c54:	f7 f1                	div    %ecx
417c56:	8b c8                	mov    %eax,%ecx
417c58:	f7 64 24 18          	mull   0x18(%esp)
417c5c:	91                   	xchg   %eax,%ecx
417c5d:	f7 64 24 14          	mull   0x14(%esp)
417c61:	03 d1                	add    %ecx,%edx
417c63:	72 0e                	jb     0x417c73
417c65:	3b 54 24 10          	cmp    0x10(%esp),%edx
417c69:	77 08                	ja     0x417c73
417c6b:	72 0e                	jb     0x417c7b
417c6d:	3b 44 24 0c          	cmp    0xc(%esp),%eax
417c71:	76 08                	jbe    0x417c7b
417c73:	2b 44 24 14          	sub    0x14(%esp),%eax
417c77:	1b 54 24 18          	sbb    0x18(%esp),%edx
417c7b:	2b 44 24 0c          	sub    0xc(%esp),%eax
417c7f:	1b 54 24 10          	sbb    0x10(%esp),%edx
417c83:	4f                   	dec    %edi
417c84:	79 07                	jns    0x417c8d
417c86:	f7 da                	neg    %edx
417c88:	f7 d8                	neg    %eax
417c8a:	83 da 00             	sbb    $0x0,%edx
417c8d:	5f                   	pop    %edi
417c8e:	5b                   	pop    %ebx
417c8f:	c2 10 00             	ret    $0x10
417c92:	cc                   	int3
417c93:	cc                   	int3
417c94:	cc                   	int3
417c95:	cc                   	int3
417c96:	cc                   	int3
417c97:	cc                   	int3
417c98:	cc                   	int3
417c99:	cc                   	int3
417c9a:	cc                   	int3
417c9b:	cc                   	int3
417c9c:	cc                   	int3
417c9d:	cc                   	int3
417c9e:	cc                   	int3
417c9f:	cc                   	int3
417ca0:	80 f9 40             	cmp    $0x40,%cl
417ca3:	73 15                	jae    0x417cba
417ca5:	80 f9 20             	cmp    $0x20,%cl
417ca8:	73 06                	jae    0x417cb0
417caa:	0f a5 c2             	shld   %cl,%eax,%edx
417cad:	d3 e0                	shl    %cl,%eax
417caf:	c3                   	ret
417cb0:	8b d0                	mov    %eax,%edx
417cb2:	33 c0                	xor    %eax,%eax
417cb4:	80 e1 1f             	and    $0x1f,%cl
417cb7:	d3 e2                	shl    %cl,%edx
417cb9:	c3                   	ret
417cba:	33 c0                	xor    %eax,%eax
417cbc:	33 d2                	xor    %edx,%edx
417cbe:	c3                   	ret
417cbf:	cc                   	int3
417cc0:	80 f9 40             	cmp    $0x40,%cl
417cc3:	73 15                	jae    0x417cda
417cc5:	80 f9 20             	cmp    $0x20,%cl
417cc8:	73 06                	jae    0x417cd0
417cca:	0f ad d0             	shrd   %cl,%edx,%eax
417ccd:	d3 ea                	shr    %cl,%edx
417ccf:	c3                   	ret
417cd0:	8b c2                	mov    %edx,%eax
417cd2:	33 d2                	xor    %edx,%edx
417cd4:	80 e1 1f             	and    $0x1f,%cl
417cd7:	d3 e8                	shr    %cl,%eax
417cd9:	c3                   	ret
417cda:	33 c0                	xor    %eax,%eax
417cdc:	33 d2                	xor    %edx,%edx
417cde:	c3                   	ret
417cdf:	cc                   	int3
417ce0:	51                   	push   %ecx
417ce1:	8d 4c 24 08          	lea    0x8(%esp),%ecx
417ce5:	2b c8                	sub    %eax,%ecx
417ce7:	83 e1 0f             	and    $0xf,%ecx
417cea:	03 c1                	add    %ecx,%eax
417cec:	1b c9                	sbb    %ecx,%ecx
417cee:	0b c1                	or     %ecx,%eax
417cf0:	59                   	pop    %ecx
417cf1:	e9 ca b8 fe ff       	jmp    0x4035c0
417cf6:	51                   	push   %ecx
417cf7:	8d 4c 24 08          	lea    0x8(%esp),%ecx
417cfb:	2b c8                	sub    %eax,%ecx
417cfd:	83 e1 07             	and    $0x7,%ecx
417d00:	03 c1                	add    %ecx,%eax
417d02:	1b c9                	sbb    %ecx,%ecx
417d04:	0b c1                	or     %ecx,%eax
417d06:	59                   	pop    %ecx
417d07:	e9 b4 b8 fe ff       	jmp    0x4035c0
417d0c:	cc                   	int3
417d0d:	cc                   	int3
417d0e:	cc                   	int3
417d0f:	cc                   	int3
417d10:	e9 0b 00 00 00       	jmp    0x417d20
417d15:	cc                   	int3
417d16:	cc                   	int3
417d17:	cc                   	int3
417d18:	cc                   	int3
417d19:	cc                   	int3
417d1a:	cc                   	int3
417d1b:	cc                   	int3
417d1c:	cc                   	int3
417d1d:	cc                   	int3
417d1e:	cc                   	int3
417d1f:	cc                   	int3
417d20:	83 3d 6c 1a 42 00 02 	cmpl   $0x2,0x421a6c
417d27:	7c 08                	jl     0x417d31
417d29:	83 ec 04             	sub    $0x4,%esp
417d2c:	db 0c 24             	fisttpl (%esp)
417d2f:	58                   	pop    %eax
417d30:	c3                   	ret
417d31:	55                   	push   %ebp
417d32:	8b ec                	mov    %esp,%ebp
417d34:	83 c4 f0             	add    $0xfffffff0,%esp
417d37:	83 e4 f0             	and    $0xfffffff0,%esp
417d3a:	d9 c0                	fld    %st(0)
417d3c:	db 3c 24             	fstpt  (%esp)
417d3f:	8b 44 24 04          	mov    0x4(%esp),%eax
417d43:	0f b7 4c 24 08       	movzwl 0x8(%esp),%ecx
417d48:	0f ba f1 0f          	btr    $0xf,%ecx
417d4c:	1b d2                	sbb    %edx,%edx
417d4e:	66 81 f9 ff 3f       	cmp    $0x3fff,%cx
417d53:	72 1f                	jb     0x417d74
417d55:	85 c0                	test   %eax,%eax
417d57:	79 36                	jns    0x417d8f
417d59:	66 81 f9 1e 40       	cmp    $0x401e,%cx
417d5e:	73 1c                	jae    0x417d7c
417d60:	66 f7 d9             	neg    %cx
417d63:	66 81 c1 3e 40       	add    $0x403e,%cx
417d68:	d9 fc                	frndint
417d6a:	dd d8                	fstp   %st(0)
417d6c:	d3 e8                	shr    %cl,%eax
417d6e:	33 c2                	xor    %edx,%eax
417d70:	2b c2                	sub    %edx,%eax
417d72:	c9                   	leave
417d73:	c3                   	ret
417d74:	d9 fc                	frndint
417d76:	dd d8                	fstp   %st(0)
417d78:	33 c0                	xor    %eax,%eax
417d7a:	c9                   	leave
417d7b:	c3                   	ret
417d7c:	77 11                	ja     0x417d8f
417d7e:	85 d2                	test   %edx,%edx
417d80:	79 0d                	jns    0x417d8f
417d82:	3d 00 00 00 80       	cmp    $0x80000000,%eax
417d87:	75 06                	jne    0x417d8f
417d89:	d9 fc                	frndint
417d8b:	dd d8                	fstp   %st(0)
417d8d:	c9                   	leave
417d8e:	c3                   	ret
417d8f:	d8 1d d8 ee 41 00    	fcomps 0x41eed8
417d95:	c9                   	leave
417d96:	b8 00 00 00 80       	mov    $0x80000000,%eax
417d9b:	c3                   	ret
417d9c:	cc                   	int3
417d9d:	cc                   	int3
417d9e:	cc                   	int3
417d9f:	cc                   	int3
417da0:	55                   	push   %ebp
417da1:	8b ec                	mov    %esp,%ebp
417da3:	57                   	push   %edi
417da4:	83 3d 6c 1a 42 00 01 	cmpl   $0x1,0x421a6c
417dab:	0f 82 fd 00 00 00    	jb     0x417eae
417db1:	8b 7d 08             	mov    0x8(%ebp),%edi
417db4:	77 77                	ja     0x417e2d
417db6:	0f b6 55 0c          	movzbl 0xc(%ebp),%edx
417dba:	8b c2                	mov    %edx,%eax
417dbc:	c1 e2 08             	shl    $0x8,%edx
417dbf:	0b d0                	or     %eax,%edx
417dc1:	66 0f 6e da          	movd   %edx,%xmm3