4ae984:	db 2c 24             	fldt   (%esp)
4ae987:	d9 c9                	fxch   %st(1)
4ae989:	83 c4 0c             	add    $0xc,%esp
4ae98c:	58                   	pop    %eax
4ae98d:	c2 04 00             	ret    $0x4
4ae990:	d8 74 24 08          	fdivs  0x8(%esp)
4ae994:	58                   	pop    %eax
4ae995:	c2 04 00             	ret    $0x4
4ae998:	50                   	push   %eax
4ae999:	8b 44 24 0c          	mov    0xc(%esp),%eax
4ae99d:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
4ae9a2:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
4ae9a7:	74 33                	je     0x4ae9dc
4ae9a9:	df e0                	fnstsw %ax
4ae9ab:	25 00 38 00 00       	and    $0x3800,%eax
4ae9b0:	74 0d                	je     0x4ae9bf
4ae9b2:	dd 44 24 08          	fldl   0x8(%esp)
4ae9b6:	e8 6b ff ff ff       	call   0x4ae926
4ae9bb:	58                   	pop    %eax
4ae9bc:	c2 08 00             	ret    $0x8
4ae9bf:	d9 c9                	fxch   %st(1)
4ae9c1:	83 ec 0c             	sub    $0xc,%esp
4ae9c4:	db 3c 24             	fstpt  (%esp)
4ae9c7:	dd 44 24 14          	fldl   0x14(%esp)
4ae9cb:	e8 56 ff ff ff       	call   0x4ae926
4ae9d0:	db 2c 24             	fldt   (%esp)
4ae9d3:	d9 c9                	fxch   %st(1)
4ae9d5:	83 c4 0c             	add    $0xc,%esp
4ae9d8:	58                   	pop    %eax
4ae9d9:	c2 08 00             	ret    $0x8
4ae9dc:	dc 74 24 08          	fdivl  0x8(%esp)
4ae9e0:	58                   	pop    %eax
4ae9e1:	c2 08 00             	ret    $0x8
4ae9e4:	50                   	push   %eax
4ae9e5:	df e0                	fnstsw %ax
4ae9e7:	25 00 38 00 00       	and    $0x3800,%eax
4ae9ec:	74 0d                	je     0x4ae9fb
4ae9ee:	df 44 24 08          	filds  0x8(%esp)
4ae9f2:	e8 2f ff ff ff       	call   0x4ae926
4ae9f7:	58                   	pop    %eax
4ae9f8:	c2 04 00             	ret    $0x4
4ae9fb:	d9 c9                	fxch   %st(1)
4ae9fd:	83 ec 0c             	sub    $0xc,%esp
4aea00:	db 3c 24             	fstpt  (%esp)
4aea03:	df 44 24 14          	filds  0x14(%esp)
4aea07:	e8 1a ff ff ff       	call   0x4ae926
4aea0c:	db 2c 24             	fldt   (%esp)
4aea0f:	d9 c9                	fxch   %st(1)
4aea11:	83 c4 0c             	add    $0xc,%esp
4aea14:	58                   	pop    %eax
4aea15:	c2 04 00             	ret    $0x4
4aea18:	50                   	push   %eax
4aea19:	df e0                	fnstsw %ax
4aea1b:	25 00 38 00 00       	and    $0x3800,%eax
4aea20:	74 0d                	je     0x4aea2f
4aea22:	db 44 24 08          	fildl  0x8(%esp)
4aea26:	e8 fb fe ff ff       	call   0x4ae926
4aea2b:	58                   	pop    %eax
4aea2c:	c2 04 00             	ret    $0x4
4aea2f:	d9 c9                	fxch   %st(1)
4aea31:	83 ec 0c             	sub    $0xc,%esp
4aea34:	db 3c 24             	fstpt  (%esp)
4aea37:	db 44 24 14          	fildl  0x14(%esp)
4aea3b:	e8 e6 fe ff ff       	call   0x4ae926
4aea40:	db 2c 24             	fldt   (%esp)
4aea43:	d9 c9                	fxch   %st(1)
4aea45:	83 c4 0c             	add    $0xc,%esp
4aea48:	58                   	pop    %eax
4aea49:	c2 04 00             	ret    $0x4
4aea4c:	50                   	push   %eax
4aea4d:	8b 44 24 08          	mov    0x8(%esp),%eax
4aea51:	25 00 00 80 7f       	and    $0x7f800000,%eax
4aea56:	3d 00 00 80 7f       	cmp    $0x7f800000,%eax
4aea5b:	74 33                	je     0x4aea90
4aea5d:	df e0                	fnstsw %ax
4aea5f:	25 00 38 00 00       	and    $0x3800,%eax
4aea64:	74 0d                	je     0x4aea73
4aea66:	d9 44 24 08          	flds   0x8(%esp)
4aea6a:	e8 ca fe ff ff       	call   0x4ae939
4aea6f:	58                   	pop    %eax
4aea70:	c2 04 00             	ret    $0x4
4aea73:	d9 c9                	fxch   %st(1)
4aea75:	83 ec 0c             	sub    $0xc,%esp
4aea78:	db 3c 24             	fstpt  (%esp)
4aea7b:	d9 44 24 14          	flds   0x14(%esp)
4aea7f:	e8 b5 fe ff ff       	call   0x4ae939
4aea84:	db 2c 24             	fldt   (%esp)
4aea87:	d9 c9                	fxch   %st(1)
4aea89:	83 c4 0c             	add    $0xc,%esp
4aea8c:	58                   	pop    %eax
4aea8d:	c2 04 00             	ret    $0x4
4aea90:	d8 7c 24 08          	fdivrs 0x8(%esp)
4aea94:	58                   	pop    %eax
4aea95:	c2 04 00             	ret    $0x4
4aea98:	50                   	push   %eax
4aea99:	8b 44 24 0c          	mov    0xc(%esp),%eax
4aea9d:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
4aeaa2:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
4aeaa7:	74 33                	je     0x4aeadc
4aeaa9:	df e0                	fnstsw %ax
4aeaab:	25 00 38 00 00       	and    $0x3800,%eax
4aeab0:	74 0d                	je     0x4aeabf
4aeab2:	dd 44 24 08          	fldl   0x8(%esp)
4aeab6:	e8 7e fe ff ff       	call   0x4ae939
4aeabb:	58                   	pop    %eax
4aeabc:	c2 08 00             	ret    $0x8
4aeabf:	d9 c9                	fxch   %st(1)
4aeac1:	83 ec 0c             	sub    $0xc,%esp
4aeac4:	db 3c 24             	fstpt  (%esp)
4aeac7:	dd 44 24 14          	fldl   0x14(%esp)
4aeacb:	e8 69 fe ff ff       	call   0x4ae939
4aead0:	db 2c 24             	fldt   (%esp)
4aead3:	d9 c9                	fxch   %st(1)
4aead5:	83 c4 0c             	add    $0xc,%esp
4aead8:	58                   	pop    %eax
4aead9:	c2 08 00             	ret    $0x8
4aeadc:	dc 7c 24 08          	fdivrl 0x8(%esp)
4aeae0:	58                   	pop    %eax
4aeae1:	c2 08 00             	ret    $0x8
4aeae4:	50                   	push   %eax
4aeae5:	df e0                	fnstsw %ax
4aeae7:	25 00 38 00 00       	and    $0x3800,%eax
4aeaec:	74 0d                	je     0x4aeafb
4aeaee:	df 44 24 08          	filds  0x8(%esp)
4aeaf2:	e8 42 fe ff ff       	call   0x4ae939
4aeaf7:	58                   	pop    %eax
4aeaf8:	c2 04 00             	ret    $0x4
4aeafb:	d9 c9                	fxch   %st(1)
4aeafd:	83 ec 0c             	sub    $0xc,%esp
4aeb00:	db 3c 24             	fstpt  (%esp)
4aeb03:	df 44 24 14          	filds  0x14(%esp)
4aeb07:	e8 2d fe ff ff       	call   0x4ae939
4aeb0c:	db 2c 24             	fldt   (%esp)
4aeb0f:	d9 c9                	fxch   %st(1)
4aeb11:	83 c4 0c             	add    $0xc,%esp
4aeb14:	58                   	pop    %eax
4aeb15:	c2 04 00             	ret    $0x4
4aeb18:	50                   	push   %eax
4aeb19:	df e0                	fnstsw %ax
4aeb1b:	25 00 38 00 00       	and    $0x3800,%eax
4aeb20:	74 0d                	je     0x4aeb2f
4aeb22:	db 44 24 08          	fildl  0x8(%esp)
4aeb26:	e8 0e fe ff ff       	call   0x4ae939
4aeb2b:	58                   	pop    %eax
4aeb2c:	c2 04 00             	ret    $0x4
4aeb2f:	d9 c9                	fxch   %st(1)
4aeb31:	83 ec 0c             	sub    $0xc,%esp
4aeb34:	db 3c 24             	fstpt  (%esp)
4aeb37:	db 44 24 14          	fildl  0x14(%esp)
4aeb3b:	e8 f9 fd ff ff       	call   0x4ae939
4aeb40:	db 2c 24             	fldt   (%esp)
4aeb43:	d9 c9                	fxch   %st(1)
4aeb45:	83 c4 0c             	add    $0xc,%esp
4aeb48:	58                   	pop    %eax
4aeb49:	c2 04 00             	ret    $0x4
4aeb4c:	50                   	push   %eax
4aeb4d:	83 ec 2c             	sub    $0x2c,%esp
4aeb50:	db 3c 24             	fstpt  (%esp)
4aeb53:	db 7c 24 0c          	fstpt  0xc(%esp)
4aeb57:	e8 14 f8 ff ff       	call   0x4ae370
4aeb5c:	83 c4 2c             	add    $0x2c,%esp
4aeb5f:	58                   	pop    %eax
4aeb60:	c3                   	ret
4aeb61:	50                   	push   %eax
4aeb62:	83 ec 2c             	sub    $0x2c,%esp
4aeb65:	db 7c 24 0c          	fstpt  0xc(%esp)
4aeb69:	db 3c 24             	fstpt  (%esp)
4aeb6c:	e8 ff f7 ff ff       	call   0x4ae370
4aeb71:	83 c4 2c             	add    $0x2c,%esp
4aeb74:	58                   	pop    %eax
4aeb75:	c3                   	ret
4aeb76:	50                   	push   %eax
4aeb77:	53                   	push   %ebx
4aeb78:	51                   	push   %ecx
4aeb79:	8b 44 24 16          	mov    0x16(%esp),%eax
4aeb7d:	35 00 07 00 00       	xor    $0x700,%eax
4aeb82:	a9 00 07 00 00       	test   $0x700,%eax
4aeb87:	0f 85 83 01 00 00    	jne    0x4aed10
4aeb8d:	c1 e8 0b             	shr    $0xb,%eax
4aeb90:	83 e0 0f             	and    $0xf,%eax
4aeb93:	80 b8 ac c8 50 00 00 	cmpb   $0x0,0x50c8ac(%eax)
4aeb9a:	0f 84 70 01 00 00    	je     0x4aed10
4aeba0:	8b 44 24 16          	mov    0x16(%esp),%eax
4aeba4:	25 00 00 ff 7f       	and    $0x7fff0000,%eax
4aeba9:	3d 00 00 ff 7f       	cmp    $0x7fff0000,%eax
4aebae:	0f 84 5c 01 00 00    	je     0x4aed10
4aebb4:	8b 44 24 2e          	mov    0x2e(%esp),%eax
4aebb8:	25 00 00 ff 7f       	and    $0x7fff0000,%eax
4aebbd:	0f 84 4d 01 00 00    	je     0x4aed10
4aebc3:	3d 00 00 ff 7f       	cmp    $0x7fff0000,%eax
4aebc8:	0f 84 42 01 00 00    	je     0x4aed10
4aebce:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4aebd2:	03 c0                	add    %eax,%eax
4aebd4:	0f 85 36 01 00 00    	jne    0x4aed10
4aebda:	8b 44 24 14          	mov    0x14(%esp),%eax
4aebde:	03 c0                	add    %eax,%eax
4aebe0:	0f 85 2a 01 00 00    	jne    0x4aed10
4aebe6:	8b 44 24 18          	mov    0x18(%esp),%eax
4aebea:	25 ff 7f 00 00       	and    $0x7fff,%eax
4aebef:	83 c0 3f             	add    $0x3f,%eax
4aebf2:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4aebf6:	81 e3 ff 7f 00 00    	and    $0x7fff,%ebx
4aebfc:	2b d8                	sub    %eax,%ebx
4aebfe:	77 5e                	ja     0x4aec5e
4aec00:	8b 44 24 18          	mov    0x18(%esp),%eax
4aec04:	25 ff 7f 00 00       	and    $0x7fff,%eax
4aec09:	83 c0 0a             	add    $0xa,%eax
4aec0c:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4aec10:	81 e3 ff 7f 00 00    	and    $0x7fff,%ebx
4aec16:	2b d8                	sub    %eax,%ebx
4aec18:	0f 88 f2 00 00 00    	js     0x4aed10
4aec1e:	db 6c 24 28          	fldt   0x28(%esp)
4aec22:	8b 44 24 18          	mov    0x18(%esp),%eax
4aec26:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4aec2a:	81 e3 ff 7f 00 00    	and    $0x7fff,%ebx
4aec30:	8b cb                	mov    %ebx,%ecx
4aec32:	2b d8                	sub    %eax,%ebx
4aec34:	83 e3 07             	and    $0x7,%ebx
4aec37:	83 cb 04             	or     $0x4,%ebx
4aec3a:	2b cb                	sub    %ebx,%ecx
4aec3c:	8b d8                	mov    %eax,%ebx
4aec3e:	81 e3 00 80 00 00    	and    $0x8000,%ebx
4aec44:	0b cb                	or     %ebx,%ecx
4aec46:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4aec4a:	db 6c 24 10          	fldt   0x10(%esp)
4aec4e:	89 44 24 18          	mov    %eax,0x18(%esp)
4aec52:	d9 c9                	fxch   %st(1)
4aec54:	d9 f8                	fprem
4aec56:	db 7c 24 28          	fstpt  0x28(%esp)
4aec5a:	dd d8                	fstp   %st(0)
4aec5c:	eb a2                	jmp    0x4aec00
4aec5e:	f7 c2 02 00 00 00    	test   $0x2,%edx
4aec64:	75 08                	jne    0x4aec6e
4aec66:	db 6c 24 10          	fldt   0x10(%esp)
4aec6a:	db 7c 24 1c          	fstpt  0x1c(%esp)
4aec6e:	d9 7c 24 34          	fnstcw 0x34(%esp)
4aec72:	8b 44 24 34          	mov    0x34(%esp),%eax
4aec76:	0d 3f 03 00 00       	or     $0x33f,%eax
4aec7b:	89 44 24 38          	mov    %eax,0x38(%esp)
4aec7f:	d9 6c 24 38          	fldcw  0x38(%esp)
4aec83:	8b 44 24 18          	mov    0x18(%esp),%eax
4aec87:	25 ff 7f 00 00       	and    $0x7fff,%eax
4aec8c:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4aec90:	81 e3 ff 7f 00 00    	and    $0x7fff,%ebx
4aec96:	2b d8                	sub    %eax,%ebx
4aec98:	83 e3 3f             	and    $0x3f,%ebx
4aec9b:	83 cb 20             	or     $0x20,%ebx
4aec9e:	83 c3 01             	add    $0x1,%ebx
4aeca1:	8b cb                	mov    %ebx,%ecx
4aeca3:	8b 44 24 18          	mov    0x18(%esp),%eax
4aeca7:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4aecab:	81 e3 ff 7f 00 00    	and    $0x7fff,%ebx
4aecb1:	25 00 80 00 00       	and    $0x8000,%eax
4aecb6:	0b d8                	or     %eax,%ebx
4aecb8:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4aecbc:	db 6c 24 10          	fldt   0x10(%esp)
4aecc0:	d9 e1                	fabs
4aecc2:	db 6c 24 28          	fldt   0x28(%esp)
4aecc6:	d9 e1                	fabs
4aecc8:	d8 d1                	fcom   %st(1)
4aecca:	df e0                	fnstsw %ax
4aeccc:	25 00 01 00 00       	and    $0x100,%eax
4aecd1:	75 02                	jne    0x4aecd5
4aecd3:	d8 e1                	fsub   %st(1),%st
4aecd5:	d9 c9                	fxch   %st(1)
4aecd7:	dc 0d dc c8 50 00    	fmull  0x50c8dc
4aecdd:	d9 c9                	fxch   %st(1)
4aecdf:	83 e9 01             	sub    $0x1,%ecx
4aece2:	75 e4                	jne    0x4aecc8
4aece4:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4aece8:	db 7c 24 28          	fstpt  0x28(%esp)
4aecec:	dd d8                	fstp   %st(0)
4aecee:	db 6c 24 1c          	fldt   0x1c(%esp)
4aecf2:	db 2d e4 c8 50 00    	fldt   0x50c8e4
4aecf8:	d9 f8                	fprem
4aecfa:	dd d8                	fstp   %st(0)
4aecfc:	db 6c 24 28          	fldt   0x28(%esp)
4aed00:	d9 6c 24 34          	fldcw  0x34(%esp)
4aed04:	81 e3 00 80 00 00    	and    $0x8000,%ebx
4aed0a:	74 0e                	je     0x4aed1a
4aed0c:	d9 e0                	fchs
4aed0e:	eb 0a                	jmp    0x4aed1a
4aed10:	db 6c 24 10          	fldt   0x10(%esp)
4aed14:	db 6c 24 28          	fldt   0x28(%esp)
4aed18:	d9 f8                	fprem
4aed1a:	f7 c2 03 00 00 00    	test   $0x3,%edx
4aed20:	74 56                	je     0x4aed78
4aed22:	dd 7c 24 3c          	fnstsw 0x3c(%esp)
4aed26:	f7 c2 01 00 00 00    	test   $0x1,%edx
4aed2c:	74 1f                	je     0x4aed4d
4aed2e:	d9 7c 24 34          	fnstcw 0x34(%esp)
4aed32:	8b 44 24 34          	mov    0x34(%esp),%eax
4aed36:	0d 00 03 00 00       	or     $0x300,%eax
4aed3b:	89 44 24 38          	mov    %eax,0x38(%esp)
4aed3f:	d9 6c 24 38          	fldcw  0x38(%esp)
4aed43:	dc 0d cc c8 50 00    	fmull  0x50c8cc
4aed49:	d9 6c 24 34          	fldcw  0x34(%esp)
4aed4d:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4aed51:	d9 c9                	fxch   %st(1)
4aed53:	dd d8                	fstp   %st(0)
4aed55:	db 6c 24 1c          	fldt   0x1c(%esp)
4aed59:	d9 c9                	fxch   %st(1)
4aed5b:	25 00 43 00 00       	and    $0x4300,%eax
4aed60:	83 ec 1c             	sub    $0x1c,%esp
4aed63:	d9 34 24             	fnstenv (%esp)
4aed66:	81 64 24 04 ff bc 00 	andl   $0xbcff,0x4(%esp)
4aed6d:	00
4aed6e:	09 44 24 04          	or     %eax,0x4(%esp)
4aed72:	d9 24 24             	fldenv (%esp)
4aed75:	83 c4 1c             	add    $0x1c,%esp
4aed78:	59                   	pop    %ecx
4aed79:	5b                   	pop    %ebx
4aed7a:	58                   	pop    %eax
4aed7b:	c3                   	ret
4aed7c:	52                   	push   %edx
4aed7d:	83 ec 30             	sub    $0x30,%esp
4aed80:	db 7c 24 18          	fstpt  0x18(%esp)
4aed84:	db 3c 24             	fstpt  (%esp)
4aed87:	33 d2                	xor    %edx,%edx
4aed89:	8b 44 24 06          	mov    0x6(%esp),%eax
4aed8d:	a9 00 00 ff 7f       	test   $0x7fff0000,%eax
4aed92:	74 0a                	je     0x4aed9e
4aed94:	e8 dd fd ff ff       	call   0x4aeb76
4aed99:	83 c4 30             	add    $0x30,%esp
4aed9c:	5a                   	pop    %edx
4aed9d:	c3                   	ret
4aed9e:	db 2c 24             	fldt   (%esp)
4aeda1:	db 6c 24 18          	fldt   0x18(%esp)
4aeda5:	8b 04 24             	mov    (%esp),%eax
4aeda8:	0b 44 24 04          	or     0x4(%esp),%eax
4aedac:	74 79                	je     0x4aee27
4aedae:	d9 c9                	fxch   %st(1)
4aedb0:	db 7c 24 0c          	fstpt  0xc(%esp)
4aedb4:	db 2c 24             	fldt   (%esp)
4aedb7:	d9 c9                	fxch   %st(1)
4aedb9:	83 ca 02             	or     $0x2,%edx
4aedbc:	d9 7c 24 24          	fnstcw 0x24(%esp)
4aedc0:	8b 44 24 24          	mov    0x24(%esp),%eax
4aedc4:	0d 3f 03 00 00       	or     $0x33f,%eax
4aedc9:	89 44 24 28          	mov    %eax,0x28(%esp)
4aedcd:	d9 6c 24 28          	fldcw  0x28(%esp)
4aedd1:	8b 44 24 20          	mov    0x20(%esp),%eax
4aedd5:	25 ff 7f 00 00       	and    $0x7fff,%eax
4aedda:	3d be 7f 00 00       	cmp    $0x7fbe,%eax
4aeddf:	77 18                	ja     0x4aedf9
4aede1:	83 ca 01             	or     $0x1,%edx
4aede4:	dc 0d c4 c8 50 00    	fmull  0x50c8c4
4aedea:	db 7c 24 18          	fstpt  0x18(%esp)
4aedee:	dc 0d c4 c8 50 00    	fmull  0x50c8c4
4aedf4:	db 3c 24             	fstpt  (%esp)