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)
4aedf7:	eb 20                	jmp    0x4aee19
4aedf9:	d9 7c 24 24          	fnstcw 0x24(%esp)
4aedfd:	8b 44 24 24          	mov    0x24(%esp),%eax
4aee01:	0d 00 03 00 00       	or     $0x300,%eax
4aee06:	89 44 24 28          	mov    %eax,0x28(%esp)
4aee0a:	d9 6c 24 28          	fldcw  0x28(%esp)
4aee0e:	dd d8                	fstp   %st(0)
4aee10:	dc 0d c4 c8 50 00    	fmull  0x50c8c4
4aee16:	db 3c 24             	fstpt  (%esp)
4aee19:	d9 6c 24 24          	fldcw  0x24(%esp)
4aee1d:	e8 54 fd ff ff       	call   0x4aeb76
4aee22:	83 c4 30             	add    $0x30,%esp
4aee25:	5a                   	pop    %edx
4aee26:	c3                   	ret
4aee27:	d9 f8                	fprem
4aee29:	83 c4 30             	add    $0x30,%esp
4aee2c:	5a                   	pop    %edx
4aee2d:	c3                   	ret
4aee2e:	50                   	push   %eax
4aee2f:	53                   	push   %ebx
4aee30:	51                   	push   %ecx
4aee31:	8b 44 24 16          	mov    0x16(%esp),%eax
4aee35:	35 00 07 00 00       	xor    $0x700,%eax
4aee3a:	a9 00 07 00 00       	test   $0x700,%eax
4aee3f:	0f 85 83 01 00 00    	jne    0x4aefc8
4aee45:	c1 e8 0b             	shr    $0xb,%eax
4aee48:	83 e0 0f             	and    $0xf,%eax
4aee4b:	80 b8 ac c8 50 00 00 	cmpb   $0x0,0x50c8ac(%eax)
4aee52:	0f 84 70 01 00 00    	je     0x4aefc8
4aee58:	8b 44 24 16          	mov    0x16(%esp),%eax
4aee5c:	25 00 00 ff 7f       	and    $0x7fff0000,%eax
4aee61:	3d 00 00 ff 7f       	cmp    $0x7fff0000,%eax
4aee66:	0f 84 5c 01 00 00    	je     0x4aefc8
4aee6c:	8b 44 24 2e          	mov    0x2e(%esp),%eax
4aee70:	25 00 00 ff 7f       	and    $0x7fff0000,%eax
4aee75:	0f 84 4d 01 00 00    	je     0x4aefc8
4aee7b:	3d 00 00 ff 7f       	cmp    $0x7fff0000,%eax
4aee80:	0f 84 42 01 00 00    	je     0x4aefc8
4aee86:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4aee8a:	03 c0                	add    %eax,%eax
4aee8c:	0f 85 36 01 00 00    	jne    0x4aefc8
4aee92:	8b 44 24 14          	mov    0x14(%esp),%eax
4aee96:	03 c0                	add    %eax,%eax
4aee98:	0f 85 2a 01 00 00    	jne    0x4aefc8
4aee9e:	8b 44 24 18          	mov    0x18(%esp),%eax
4aeea2:	25 ff 7f 00 00       	and    $0x7fff,%eax
4aeea7:	83 c0 3f             	add    $0x3f,%eax
4aeeaa:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4aeeae:	81 e3 ff 7f 00 00    	and    $0x7fff,%ebx
4aeeb4:	2b d8                	sub    %eax,%ebx
4aeeb6:	77 5e                	ja     0x4aef16
4aeeb8:	8b 44 24 18          	mov    0x18(%esp),%eax
4aeebc:	25 ff 7f 00 00       	and    $0x7fff,%eax
4aeec1:	83 c0 0a             	add    $0xa,%eax
4aeec4:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4aeec8:	81 e3 ff 7f 00 00    	and    $0x7fff,%ebx
4aeece:	2b d8                	sub    %eax,%ebx
4aeed0:	0f 88 f2 00 00 00    	js     0x4aefc8
4aeed6:	db 6c 24 28          	fldt   0x28(%esp)
4aeeda:	8b 44 24 18          	mov    0x18(%esp),%eax
4aeede:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4aeee2:	81 e3 ff 7f 00 00    	and    $0x7fff,%ebx
4aeee8:	8b cb                	mov    %ebx,%ecx
4aeeea:	2b d8                	sub    %eax,%ebx
4aeeec:	83 e3 07             	and    $0x7,%ebx
4aeeef:	83 cb 04             	or     $0x4,%ebx
4aeef2:	2b cb                	sub    %ebx,%ecx
4aeef4:	8b d8                	mov    %eax,%ebx
4aeef6:	81 e3 00 80 00 00    	and    $0x8000,%ebx
4aeefc:	0b cb                	or     %ebx,%ecx
4aeefe:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4aef02:	db 6c 24 10          	fldt   0x10(%esp)
4aef06:	89 44 24 18          	mov    %eax,0x18(%esp)
4aef0a:	d9 c9                	fxch   %st(1)
4aef0c:	d9 f8                	fprem
4aef0e:	db 7c 24 28          	fstpt  0x28(%esp)
4aef12:	dd d8                	fstp   %st(0)
4aef14:	eb a2                	jmp    0x4aeeb8
4aef16:	f7 c3 02 00 00 00    	test   $0x2,%ebx
4aef1c:	75 08                	jne    0x4aef26
4aef1e:	db 6c 24 10          	fldt   0x10(%esp)
4aef22:	db 7c 24 1c          	fstpt  0x1c(%esp)
4aef26:	d9 7c 24 34          	fnstcw 0x34(%esp)
4aef2a:	8b 44 24 34          	mov    0x34(%esp),%eax
4aef2e:	0d 3f 03 00 00       	or     $0x33f,%eax
4aef33:	89 44 24 38          	mov    %eax,0x38(%esp)
4aef37:	d9 6c 24 38          	fldcw  0x38(%esp)
4aef3b:	8b 44 24 18          	mov    0x18(%esp),%eax
4aef3f:	25 ff 7f 00 00       	and    $0x7fff,%eax
4aef44:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4aef48:	81 e3 ff 7f 00 00    	and    $0x7fff,%ebx
4aef4e:	2b d8                	sub    %eax,%ebx
4aef50:	83 e3 3f             	and    $0x3f,%ebx
4aef53:	83 cb 20             	or     $0x20,%ebx
4aef56:	83 c3 01             	add    $0x1,%ebx
4aef59:	8b cb                	mov    %ebx,%ecx
4aef5b:	8b 44 24 18          	mov    0x18(%esp),%eax
4aef5f:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4aef63:	81 e3 ff 7f 00 00    	and    $0x7fff,%ebx
4aef69:	25 00 80 00 00       	and    $0x8000,%eax
4aef6e:	0b d8                	or     %eax,%ebx
4aef70:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4aef74:	db 6c 24 10          	fldt   0x10(%esp)
4aef78:	d9 e1                	fabs
4aef7a:	db 6c 24 28          	fldt   0x28(%esp)
4aef7e:	d9 e1                	fabs
4aef80:	d8 d1                	fcom   %st(1)
4aef82:	df e0                	fnstsw %ax
4aef84:	25 00 01 00 00       	and    $0x100,%eax
4aef89:	75 02                	jne    0x4aef8d
4aef8b:	d8 e1                	fsub   %st(1),%st
4aef8d:	d9 c9                	fxch   %st(1)
4aef8f:	dc 0d dc c8 50 00    	fmull  0x50c8dc
4aef95:	d9 c9                	fxch   %st(1)
4aef97:	83 e9 01             	sub    $0x1,%ecx
4aef9a:	75 e4                	jne    0x4aef80
4aef9c:	8b 5c 24 30          	mov    0x30(%esp),%ebx
4aefa0:	db 7c 24 28          	fstpt  0x28(%esp)
4aefa4:	dd d8                	fstp   %st(0)
4aefa6:	db 6c 24 1c          	fldt   0x1c(%esp)
4aefaa:	db 2d e4 c8 50 00    	fldt   0x50c8e4
4aefb0:	d9 f5                	fprem1
4aefb2:	dd d8                	fstp   %st(0)
4aefb4:	db 6c 24 28          	fldt   0x28(%esp)
4aefb8:	d9 6c 24 34          	fldcw  0x34(%esp)
4aefbc:	81 e3 00 80 00 00    	and    $0x8000,%ebx
4aefc2:	74 0e                	je     0x4aefd2
4aefc4:	d9 e0                	fchs
4aefc6:	eb 0a                	jmp    0x4aefd2
4aefc8:	db 6c 24 10          	fldt   0x10(%esp)
4aefcc:	db 6c 24 28          	fldt   0x28(%esp)
4aefd0:	d9 f5                	fprem1
4aefd2:	f7 c2 03 00 00 00    	test   $0x3,%edx
4aefd8:	74 56                	je     0x4af030
4aefda:	dd 7c 24 3c          	fnstsw 0x3c(%esp)
4aefde:	f7 c2 01 00 00 00    	test   $0x1,%edx
4aefe4:	74 1f                	je     0x4af005
4aefe6:	d9 7c 24 34          	fnstcw 0x34(%esp)
4aefea:	8b 44 24 34          	mov    0x34(%esp),%eax
4aefee:	0d 00 03 00 00       	or     $0x300,%eax
4aeff3:	89 44 24 38          	mov    %eax,0x38(%esp)
4aeff7:	d9 6c 24 38          	fldcw  0x38(%esp)
4aeffb:	dc 0d cc c8 50 00    	fmull  0x50c8cc
4af001:	d9 6c 24 34          	fldcw  0x34(%esp)
4af005:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4af009:	d9 c9                	fxch   %st(1)
4af00b:	dd d8                	fstp   %st(0)
4af00d:	db 6c 24 1c          	fldt   0x1c(%esp)
4af011:	d9 c9                	fxch   %st(1)
4af013:	25 00 43 00 00       	and    $0x4300,%eax
4af018:	83 ec 1c             	sub    $0x1c,%esp
4af01b:	d9 34 24             	fnstenv (%esp)
4af01e:	81 64 24 04 ff bc 00 	andl   $0xbcff,0x4(%esp)
4af025:	00
4af026:	09 44 24 04          	or     %eax,0x4(%esp)
4af02a:	d9 24 24             	fldenv (%esp)
4af02d:	83 c4 1c             	add    $0x1c,%esp
4af030:	59                   	pop    %ecx
4af031:	5b                   	pop    %ebx
4af032:	58                   	pop    %eax
4af033:	c3                   	ret
4af034:	52                   	push   %edx
4af035:	83 ec 30             	sub    $0x30,%esp
4af038:	db 7c 24 18          	fstpt  0x18(%esp)
4af03c:	db 3c 24             	fstpt  (%esp)
4af03f:	ba 00 00 00 00       	mov    $0x0,%edx
4af044:	8b 44 24 06          	mov    0x6(%esp),%eax
4af048:	a9 00 00 ff 7f       	test   $0x7fff0000,%eax
4af04d:	74 0a                	je     0x4af059
4af04f:	e8 da fd ff ff       	call   0x4aee2e
4af054:	83 c4 30             	add    $0x30,%esp
4af057:	5a                   	pop    %edx
4af058:	c3                   	ret
4af059:	db 2c 24             	fldt   (%esp)
4af05c:	db 6c 24 18          	fldt   0x18(%esp)