48f056:	d9 c0                	fld    %st(0)
48f058:	85 db                	test   %ebx,%ebx
48f05a:	79 72                	jns    0x48f0ce
48f05c:	f7 db                	neg    %ebx
48f05e:	74 19                	je     0x48f079
48f060:	33 c0                	xor    %eax,%eax
48f062:	83 f8 40             	cmp    $0x40,%eax
48f065:	73 12                	jae    0x48f079
48f067:	f6 c3 01             	test   $0x1,%bl
48f06a:	74 06                	je     0x48f072
48f06c:	dc 88 d8 ef 40 00    	fmull  0x40efd8(%eax)
48f072:	83 c0 08             	add    $0x8,%eax
48f075:	d1 eb                	shr    $1,%ebx
48f077:	75 e9                	jne    0x48f062
48f079:	de f9                	fdivrp %st,%st(1)
48f07b:	8d 45 08             	lea    0x8(%ebp),%eax
48f07e:	51                   	push   %ecx
48f07f:	51                   	push   %ecx
48f080:	dd 1c 24             	fstpl  (%esp)
48f083:	50                   	push   %eax
48f084:	e8 7b ff ff ff       	call   0x48f004
48f089:	0f b7 c0             	movzwl %ax,%eax
48f08c:	83 c4 0c             	add    $0xc,%esp
48f08f:	66 85 c0             	test   %ax,%ax
48f092:	0f 89 9f 00 00 00    	jns    0x48f137
48f098:	85 db                	test   %ebx,%ebx
48f09a:	0f 84 97 00 00 00    	je     0x48f137
48f0a0:	dd 05 20 f0 40 00    	fldl   0x40f020
48f0a6:	51                   	push   %ecx
48f0a7:	51                   	push   %ecx
48f0a8:	8d 45 08             	lea    0x8(%ebp),%eax
48f0ab:	dd 1c 24             	fstpl  (%esp)
48f0ae:	50                   	push   %eax
48f0af:	e8 50 ff ff ff       	call   0x48f004
48f0b4:	0f b7 c0             	movzwl %ax,%eax
48f0b7:	33 c9                	xor    %ecx,%ecx
48f0b9:	83 c4 0c             	add    $0xc,%esp
48f0bc:	66 3b c8             	cmp    %ax,%cx
48f0bf:	7e 76                	jle    0x48f137
48f0c1:	dd 05 20 f0 40 00    	fldl   0x40f020
48f0c7:	83 eb 01             	sub    $0x1,%ebx
48f0ca:	75 da                	jne    0x48f0a6
48f0cc:	eb 67                	jmp    0x48f135
48f0ce:	dd d9                	fstp   %st(1)
48f0d0:	85 db                	test   %ebx,%ebx
48f0d2:	7e 5e                	jle    0x48f132
48f0d4:	33 c0                	xor    %eax,%eax
48f0d6:	83 f8 40             	cmp    $0x40,%eax
48f0d9:	73 14                	jae    0x48f0ef
48f0db:	f6 c3 01             	test   $0x1,%bl
48f0de:	74 06                	je     0x48f0e6
48f0e0:	dc 88 d8 ef 40 00    	fmull  0x40efd8(%eax)
48f0e6:	d1 fb                	sar    $1,%ebx
48f0e8:	83 c0 08             	add    $0x8,%eax
48f0eb:	85 db                	test   %ebx,%ebx
48f0ed:	7f e7                	jg     0x48f0d6
48f0ef:	51                   	push   %ecx
48f0f0:	51                   	push   %ecx
48f0f1:	8d 45 08             	lea    0x8(%ebp),%eax
48f0f4:	dd 1c 24             	fstpl  (%esp)
48f0f7:	50                   	push   %eax
48f0f8:	e8 07 ff ff ff       	call   0x48f004
48f0fd:	0f b7 c0             	movzwl %ax,%eax
48f100:	83 c4 0c             	add    $0xc,%esp
48f103:	66 85 c0             	test   %ax,%ax
48f106:	79 2f                	jns    0x48f137
48f108:	eb 22                	jmp    0x48f12c
48f10a:	dd 05 28 f0 40 00    	fldl   0x40f028
48f110:	8d 45 08             	lea    0x8(%ebp),%eax
48f113:	51                   	push   %ecx
48f114:	51                   	push   %ecx
48f115:	dd 1c 24             	fstpl  (%esp)
48f118:	50                   	push   %eax
48f119:	e8 e6 fe ff ff       	call   0x48f004
48f11e:	0f b7 c0             	movzwl %ax,%eax
48f121:	33 c9                	xor    %ecx,%ecx
48f123:	83 c4 0c             	add    $0xc,%esp
48f126:	66 3b c8             	cmp    %ax,%cx
48f129:	7e 0c                	jle    0x48f137
48f12b:	4b                   	dec    %ebx
48f12c:	85 db                	test   %ebx,%ebx
48f12e:	7f da                	jg     0x48f10a
48f130:	eb 05                	jmp    0x48f137
48f132:	8b 45 fc             	mov    -0x4(%ebp),%eax
48f135:	dd d8                	fstp   %st(0)
48f137:	56                   	push   %esi
48f138:	33 f6                	xor    %esi,%esi
48f13a:	46                   	inc    %esi
48f13b:	66 85 c0             	test   %ax,%ax
48f13e:	74 05                	je     0x48f145
48f140:	66 3b c6             	cmp    %si,%ax
48f143:	75 15                	jne    0x48f15a
48f145:	ff 15 58 80 4a 00    	call   *0x4a8058
48f14b:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
48f151:	8b 45 14             	mov    0x14(%ebp),%eax
48f154:	85 c0                	test   %eax,%eax
48f156:	74 02                	je     0x48f15a
48f158:	09 30                	or     %esi,(%eax)
48f15a:	5e                   	pop    %esi
48f15b:	dd 45 08             	fldl   0x8(%ebp)
48f15e:	5b                   	pop    %ebx
48f15f:	c9                   	leave
48f160:	c3                   	ret
48f161:	8b ff                	mov    %edi,%edi
48f163:	55                   	push   %ebp
48f164:	8b ec                	mov    %esp,%ebp
48f166:	83 ec 18             	sub    $0x18,%esp
48f169:	53                   	push   %ebx
48f16a:	8b 5d 08             	mov    0x8(%ebp),%ebx
48f16d:	56                   	push   %esi
48f16e:	be ff 07 00 00       	mov    $0x7ff,%esi
48f173:	57                   	push   %edi
48f174:	0f b7 4b 06          	movzwl 0x6(%ebx),%ecx
48f178:	8b c1                	mov    %ecx,%eax
48f17a:	c1 e8 04             	shr    $0x4,%eax
48f17d:	23 c6                	and    %esi,%eax
48f17f:	0f b7 f8             	movzwl %ax,%edi
48f182:	66 3b c6             	cmp    %si,%ax
48f185:	75 20                	jne    0x48f1a7
48f187:	f6 c1 0f             	test   $0xf,%cl
48f18a:	75 13                	jne    0x48f19f
48f18c:	33 c0                	xor    %eax,%eax
48f18e:	66 39 43 04          	cmp    %ax,0x4(%ebx)
48f192:	75 0b                	jne    0x48f19f
48f194:	66 39 43 02          	cmp    %ax,0x2(%ebx)
48f198:	75 05                	jne    0x48f19f
48f19a:	66 39 03             	cmp    %ax,(%ebx)
48f19d:	74 46                	je     0x48f1e5
48f19f:	6a 02                	push   $0x2
48f1a1:	58                   	pop    %eax
48f1a2:	e9 1c 02 00 00       	jmp    0x48f3c3
48f1a7:	66 85 c0             	test   %ax,%ax
48f1aa:	75 15                	jne    0x48f1c1
48f1ac:	53                   	push   %ebx
48f1ad:	e8 8d 06 00 00       	call   0x48f83f
48f1b2:	0f b7 f8             	movzwl %ax,%edi
48f1b5:	33 c0                	xor    %eax,%eax
48f1b7:	59                   	pop    %ecx
48f1b8:	66 3b c7             	cmp    %di,%ax
48f1bb:	0f 8c 00 02 00 00    	jl     0x48f3c1
48f1c1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
48f1c4:	0f bf c7             	movswl %di,%eax
48f1c7:	89 45 f0             	mov    %eax,-0x10(%ebp)
48f1ca:	85 c9                	test   %ecx,%ecx
48f1cc:	7e 1f                	jle    0x48f1ed
48f1ce:	2b f0                	sub    %eax,%esi
48f1d0:	3b f1                	cmp    %ecx,%esi
48f1d2:	7f 19                	jg     0x48f1ed
48f1d4:	66 83 7b 06 00       	cmpw   $0x0,0x6(%ebx)
48f1d9:	dd 05 98 38 4a 00    	fldl   0x4a3898
48f1df:	7d 02                	jge    0x48f1e3
48f1e1:	d9 e0                	fchs
48f1e3:	dd 1b                	fstpl  (%ebx)
48f1e5:	33 c0                	xor    %eax,%eax
48f1e7:	40                   	inc    %eax
48f1e8:	e9 d6 01 00 00       	jmp    0x48f3c3
48f1ed:	0f b7 53 06          	movzwl 0x6(%ebx),%edx
48f1f1:	f7 d8                	neg    %eax
48f1f3:	3b c1                	cmp    %ecx,%eax
48f1f5:	7d 1a                	jge    0x48f211
48f1f7:	8d 04 39             	lea    (%ecx,%edi,1),%eax
48f1fa:	81 e2 0f 80 00 00    	and    $0x800f,%edx
48f200:	c1 e0 04             	shl    $0x4,%eax
48f203:	0b c2                	or     %edx,%eax
48f205:	66 89 43 06          	mov    %ax,0x6(%ebx)
48f209:	83 c8 ff             	or     $0xffffffff,%eax
48f20c:	e9 b2 01 00 00       	jmp    0x48f3c3
48f211:	8b fa                	mov    %edx,%edi
48f213:	b8 00 80 00 00       	mov    $0x8000,%eax
48f218:	23 f8                	and    %eax,%edi
48f21a:	83 e2 0f             	and    $0xf,%edx
48f21d:	83 ca 10             	or     $0x10,%edx
48f220:	89 7d ec             	mov    %edi,-0x14(%ebp)
48f223:	0f b7 c2             	movzwl %dx,%eax
48f226:	89 45 e8             	mov    %eax,-0x18(%ebp)
48f229:	8b 45 f0             	mov    -0x10(%ebp),%eax
48f22c:	48                   	dec    %eax
48f22d:	03 c1                	add    %ecx,%eax
48f22f:	83 f8 cb             	cmp    $0xffffffcb,%eax
48f232:	0f 8c 7d 01 00 00    	jl     0x48f3b5
48f238:	85 c0                	test   %eax,%eax
48f23a:	0f 89 75 01 00 00    	jns    0x48f3b5
48f240:	0f b7 f0             	movzwl %ax,%esi
48f243:	33 c9                	xor    %ecx,%ecx
48f245:	89 4d fc             	mov    %ecx,-0x4(%ebp)
48f248:	66 83 fe f0          	cmp    $0xfff0,%si
48f24c:	7f 6a                	jg     0x48f2b8
48f24e:	0f b7 c2             	movzwl %dx,%eax
48f251:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
48f255:	89 45 f4             	mov    %eax,-0xc(%ebp)
48f258:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
48f25c:	89 45 f0             	mov    %eax,-0x10(%ebp)
48f25f:	b8 f0 ff 00 00       	mov    $0xfff0,%eax
48f264:	66 2b c6             	sub    %si,%ax
48f267:	66 c1 e8 04          	shr    $0x4,%ax
48f26b:	66 40                	inc    %ax
48f26d:	0f b7 f8             	movzwl %ax,%edi
48f270:	c1 e0 04             	shl    $0x4,%eax
48f273:	03 f0                	add    %eax,%esi
48f275:	89 7d f8             	mov    %edi,-0x8(%ebp)
48f278:	89 75 e8             	mov    %esi,-0x18(%ebp)
48f27b:	8b f9                	mov    %ecx,%edi
48f27d:	8b 75 f0             	mov    -0x10(%ebp),%esi
48f280:	33 c0                	xor    %eax,%eax
48f282:	66 85 ff             	test   %di,%di
48f285:	0f 95 c0             	setne  %al
48f288:	66 0b 03             	or     (%ebx),%ax
48f28b:	83 6d f8 01          	subl   $0x1,-0x8(%ebp)
48f28f:	0f b7 f8             	movzwl %ax,%edi
48f292:	8b 45 f4             	mov    -0xc(%ebp),%eax
48f295:	66 89 33             	mov    %si,(%ebx)
48f298:	0f b7 f2             	movzwl %dx,%esi
48f29b:	0f b7 d0             	movzwl %ax,%edx
48f29e:	89 4d f4             	mov    %ecx,-0xc(%ebp)
48f2a1:	75 dd                	jne    0x48f280
48f2a3:	89 7d fc             	mov    %edi,-0x4(%ebp)
48f2a6:	8b c1                	mov    %ecx,%eax
48f2a8:	8b 7d ec             	mov    -0x14(%ebp),%edi
48f2ab:	66 89 73 02          	mov    %si,0x2(%ebx)
48f2af:	8b 75 e8             	mov    -0x18(%ebp),%esi
48f2b2:	66 89 53 04          	mov    %dx,0x4(%ebx)
48f2b6:	eb 06                	jmp    0x48f2be
48f2b8:	8b 45 e8             	mov    -0x18(%ebp),%eax
48f2bb:	0f b7 c0             	movzwl %ax,%eax
48f2be:	f7 de                	neg    %esi
48f2c0:	89 45 f0             	mov    %eax,-0x10(%ebp)
48f2c3:	0f b7 d6             	movzwl %si,%edx
48f2c6:	89 55 f4             	mov    %edx,-0xc(%ebp)
48f2c9:	0f b7 c0             	movzwl %ax,%eax
48f2cc:	66 85 d2             	test   %dx,%dx
48f2cf:	0f 84 85 00 00 00    	je     0x48f35a
48f2d5:	0f b7 33             	movzwl (%ebx),%esi
48f2d8:	0f b7 7b 02          	movzwl 0x2(%ebx),%edi
48f2dc:	0f bf c2             	movswl %dx,%eax
48f2df:	66 8b d6             	mov    %si,%dx
48f2e2:	6a 10                	push   $0x10
48f2e4:	59                   	pop    %ecx
48f2e5:	2b c8                	sub    %eax,%ecx
48f2e7:	33 c0                	xor    %eax,%eax
48f2e9:	66 d3 e2             	shl    %cl,%dx
48f2ec:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
48f2f0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48f2f3:	66 8b 4d f4          	mov    -0xc(%ebp),%cx
48f2f7:	0f 95 c0             	setne  %al
48f2fa:	66 0b d0             	or     %ax,%dx
48f2fd:	66 d3 ee             	shr    %cl,%si
48f300:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48f303:	0f b7 c2             	movzwl %dx,%eax
48f306:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
48f30a:	89 45 fc             	mov    %eax,-0x4(%ebp)
48f30d:	66 8b c7             	mov    %di,%ax
48f310:	66 d3 e0             	shl    %cl,%ax
48f313:	66 0b f0             	or     %ax,%si
48f316:	66 8b c2             	mov    %dx,%ax
48f319:	66 89 33             	mov    %si,(%ebx)
48f31c:	8b 75 f4             	mov    -0xc(%ebp),%esi
48f31f:	66 8b ce             	mov    %si,%cx
48f322:	66 d3 ef             	shr    %cl,%di
48f325:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48f328:	66 d3 e0             	shl    %cl,%ax
48f32b:	66 8b ce             	mov    %si,%cx
48f32e:	8b 75 f0             	mov    -0x10(%ebp),%esi
48f331:	66 0b f8             	or     %ax,%di
48f334:	66 d3 ea             	shr    %cl,%dx
48f337:	66 8b c6             	mov    %si,%ax
48f33a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
48f33d:	66 d3 e0             	shl    %cl,%ax
48f340:	66 8b 4d f4          	mov    -0xc(%ebp),%cx
48f344:	66 0b d0             	or     %ax,%dx
48f347:	66 d3 ee             	shr    %cl,%si
48f34a:	33 c9                	xor    %ecx,%ecx
48f34c:	66 89 7b 02          	mov    %di,0x2(%ebx)
48f350:	8b 7d ec             	mov    -0x14(%ebp),%edi
48f353:	66 89 53 04          	mov    %dx,0x4(%ebx)
48f357:	0f b7 c6             	movzwl %si,%eax
48f35a:	8b 55 fc             	mov    -0x4(%ebp),%edx
48f35d:	0b c7                	or     %edi,%eax
48f35f:	be 00 80 00 00       	mov    $0x8000,%esi
48f364:	66 89 43 06          	mov    %ax,0x6(%ebx)
48f368:	66 3b f2             	cmp    %dx,%si
48f36b:	72 07                	jb     0x48f374
48f36d:	75 1f                	jne    0x48f38e
48f36f:	f6 03 01             	testb  $0x1,(%ebx)
48f372:	74 1a                	je     0x48f38e
48f374:	66 83 03 01          	addw   $0x1,(%ebx)
48f378:	75 14                	jne    0x48f38e
48f37a:	66 83 43 02 01       	addw   $0x1,0x2(%ebx)
48f37f:	75 0d                	jne    0x48f38e
48f381:	66 83 43 04 01       	addw   $0x1,0x4(%ebx)
48f386:	75 06                	jne    0x48f38e
48f388:	40                   	inc    %eax
48f389:	e9 77 fe ff ff       	jmp    0x48f205
48f38e:	66 3b c7             	cmp    %di,%ax
48f391:	0f 85 72 fe ff ff    	jne    0x48f209
48f397:	66 39 4b 04          	cmp    %cx,0x4(%ebx)
48f39b:	0f 85 68 fe ff ff    	jne    0x48f209
48f3a1:	66 39 4b 02          	cmp    %cx,0x2(%ebx)
48f3a5:	0f 85 5e fe ff ff    	jne    0x48f209
48f3ab:	66 39 0b             	cmp    %cx,(%ebx)
48f3ae:	74 11                	je     0x48f3c1
48f3b0:	e9 54 fe ff ff       	jmp    0x48f209
48f3b5:	33 c0                	xor    %eax,%eax
48f3b7:	66 89 7b 06          	mov    %di,0x6(%ebx)
48f3bb:	89 43 02             	mov    %eax,0x2(%ebx)
48f3be:	66 89 03             	mov    %ax,(%ebx)
48f3c1:	33 c0                	xor    %eax,%eax
48f3c3:	5f                   	pop    %edi
48f3c4:	5e                   	pop    %esi
48f3c5:	5b                   	pop    %ebx
48f3c6:	c9                   	leave
48f3c7:	c3                   	ret
48f3c8:	8b ff                	mov    %edi,%edi
48f3ca:	55                   	push   %ebp
48f3cb:	8b ec                	mov    %esp,%ebp
48f3cd:	51                   	push   %ecx
48f3ce:	56                   	push   %esi
48f3cf:	8b 75 08             	mov    0x8(%ebp),%esi
48f3d2:	8d 45 fc             	lea    -0x4(%ebp),%eax
48f3d5:	56                   	push   %esi
48f3d6:	50                   	push   %eax
48f3d7:	e8 f9 05 00 00       	call   0x48f9d5
48f3dc:	dd 06                	fldl   (%esi)
48f3de:	dc 4d 0c             	fmull  0xc(%ebp)
48f3e1:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
48f3e5:	50                   	push   %eax
48f3e6:	56                   	push   %esi
48f3e7:	dd 1e                	fstpl  (%esi)
48f3e9:	e8 73 fd ff ff       	call   0x48f161
48f3ee:	83 c4 10             	add    $0x10,%esp
48f3f1:	5e                   	pop    %esi
48f3f2:	c9                   	leave
48f3f3:	c3                   	ret
48f3f4:	8b ff                	mov    %edi,%edi
48f3f6:	55                   	push   %ebp
48f3f7:	8b ec                	mov    %esp,%ebp
48f3f9:	51                   	push   %ecx
48f3fa:	53                   	push   %ebx
48f3fb:	8b 5d 10             	mov    0x10(%ebp),%ebx
48f3fe:	85 db                	test   %ebx,%ebx
48f400:	0f 84 19 01 00 00    	je     0x48f51f
48f406:	dd 45 08             	fldl   0x8(%ebp)
48f409:	d9 ee                	fldz
48f40b:	da e9                	fucompp
48f40d:	df e0                	fnstsw %ax
48f40f:	f6 c4 44             	test   $0x44,%ah
48f412:	0f 8b 07 01 00 00    	jnp    0x48f51f
48f418:	d9 e8                	fld1
48f41a:	d9 c0                	fld    %st(0)
48f41c:	85 db                	test   %ebx,%ebx
48f41e:	79 72                	jns    0x48f492