48eebb:	7d 1b                	jge    0x48eed8
48eebd:	80 7c 05 d8 08       	cmpb   $0x8,-0x28(%ebp,%eax,1)
48eec2:	7c 04                	jl     0x48eec8
48eec4:	fe 44 05 d7          	incb   -0x29(%ebp,%eax,1)
48eec8:	ff 03                	incl   (%ebx)
48eeca:	8b f8                	mov    %eax,%edi
48eecc:	eb 0a                	jmp    0x48eed8
48eece:	80 7c 3d d7 00       	cmpb   $0x0,-0x29(%ebp,%edi,1)
48eed3:	75 07                	jne    0x48eedc
48eed5:	ff 03                	incl   (%ebx)
48eed7:	4f                   	dec    %edi
48eed8:	85 ff                	test   %edi,%edi
48eeda:	7f f2                	jg     0x48eece
48eedc:	85 ff                	test   %edi,%edi
48eede:	75 08                	jne    0x48eee8
48eee0:	47                   	inc    %edi
48eee1:	33 c9                	xor    %ecx,%ecx
48eee3:	88 4d d8             	mov    %cl,-0x28(%ebp)
48eee6:	eb 02                	jmp    0x48eeea
48eee8:	33 c9                	xor    %ecx,%ecx
48eeea:	8b c7                	mov    %edi,%eax
48eeec:	c7 45 d0 07 00 00 00 	movl   $0x7,-0x30(%ebp)
48eef3:	99                   	cltd
48eef4:	f7 7d d0             	idivl  -0x30(%ebp)
48eef7:	6a 07                	push   $0x7
48eef9:	58                   	pop    %eax
48eefa:	2b c2                	sub    %edx,%eax
48eefc:	c1 23 02             	shll   $0x2,(%ebx)
48eeff:	89 45 c0             	mov    %eax,-0x40(%ebp)
48ef02:	99                   	cltd
48ef03:	f7 7d d0             	idivl  -0x30(%ebp)
48ef06:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
48ef09:	8b c2                	mov    %edx,%eax
48ef0b:	f7 d8                	neg    %eax
48ef0d:	1b c0                	sbb    %eax,%eax
48ef0f:	f7 d8                	neg    %eax
48ef11:	89 45 c8             	mov    %eax,-0x38(%ebp)
48ef14:	85 ff                	test   %edi,%edi
48ef16:	7e 4b                	jle    0x48ef63
48ef18:	8b 55 c0             	mov    -0x40(%ebp),%edx
48ef1b:	8d 45 d8             	lea    -0x28(%ebp),%eax
48ef1e:	8b 4d c8             	mov    -0x38(%ebp),%ecx
48ef21:	2b d0                	sub    %eax,%edx
48ef23:	8b 75 b4             	mov    -0x4c(%ebp),%esi
48ef26:	89 55 c0             	mov    %edx,-0x40(%ebp)
48ef29:	8d 45 d8             	lea    -0x28(%ebp),%eax
48ef2c:	03 c6                	add    %esi,%eax
48ef2e:	0f be 18             	movsbl (%eax),%ebx
48ef31:	03 c2                	add    %edx,%eax
48ef33:	99                   	cltd
48ef34:	f7 7d d0             	idivl  -0x30(%ebp)
48ef37:	89 5d c8             	mov    %ebx,-0x38(%ebp)
48ef3a:	8b 5d b8             	mov    -0x48(%ebp),%ebx
48ef3d:	85 d2                	test   %edx,%edx
48ef3f:	75 06                	jne    0x48ef47
48ef41:	8b 45 c8             	mov    -0x38(%ebp),%eax
48ef44:	41                   	inc    %ecx
48ef45:	eb 09                	jmp    0x48ef50
48ef47:	8b 04 8b             	mov    (%ebx,%ecx,4),%eax
48ef4a:	c1 e0 04             	shl    $0x4,%eax
48ef4d:	03 45 c8             	add    -0x38(%ebp),%eax
48ef50:	8b 55 c0             	mov    -0x40(%ebp),%edx
48ef53:	46                   	inc    %esi
48ef54:	89 04 8b             	mov    %eax,(%ebx,%ecx,4)
48ef57:	3b f7                	cmp    %edi,%esi
48ef59:	7c ce                	jl     0x48ef29
48ef5b:	8b 75 cc             	mov    -0x34(%ebp),%esi
48ef5e:	89 4d c8             	mov    %ecx,-0x38(%ebp)
48ef61:	33 c9                	xor    %ecx,%ecx
48ef63:	8b 7d c4             	mov    -0x3c(%ebp),%edi
48ef66:	85 ff                	test   %edi,%edi
48ef68:	74 6d                	je     0x48efd7
48ef6a:	8a 06                	mov    (%esi),%al
48ef6c:	3c 70                	cmp    $0x70,%al
48ef6e:	74 04                	je     0x48ef74
48ef70:	3c 50                	cmp    $0x50,%al
48ef72:	75 63                	jne    0x48efd7
48ef74:	46                   	inc    %esi
48ef75:	8a 06                	mov    (%esi),%al
48ef77:	3c 2b                	cmp    $0x2b,%al
48ef79:	74 0a                	je     0x48ef85
48ef7b:	3c 2d                	cmp    $0x2d,%al
48ef7d:	74 06                	je     0x48ef85
48ef7f:	c6 45 d7 2b          	movb   $0x2b,-0x29(%ebp)
48ef83:	eb 06                	jmp    0x48ef8b
48ef85:	46                   	inc    %esi
48ef86:	88 45 d7             	mov    %al,-0x29(%ebp)
48ef89:	8a 06                	mov    (%esi),%al
48ef8b:	0f b6 c0             	movzbl %al,%eax
48ef8e:	8b f9                	mov    %ecx,%edi
48ef90:	50                   	push   %eax
48ef91:	ff 15 28 80 4a 00    	call   *0x4a8028
48ef97:	59                   	pop    %ecx
48ef98:	85 c0                	test   %eax,%eax
48ef9a:	74 2e                	je     0x48efca
48ef9c:	33 ff                	xor    %edi,%edi
48ef9e:	47                   	inc    %edi
48ef9f:	33 db                	xor    %ebx,%ebx
48efa1:	81 fb 00 e1 f5 05    	cmp    $0x5f5e100,%ebx
48efa7:	7d 0b                	jge    0x48efb4
48efa9:	6b cb 0a             	imul   $0xa,%ebx,%ecx
48efac:	0f b6 1e             	movzbl (%esi),%ebx
48efaf:	83 c3 d0             	add    $0xffffffd0,%ebx
48efb2:	03 d9                	add    %ecx,%ebx
48efb4:	46                   	inc    %esi
48efb5:	0f b6 06             	movzbl (%esi),%eax
48efb8:	50                   	push   %eax
48efb9:	ff 15 28 80 4a 00    	call   *0x4a8028
48efbf:	59                   	pop    %ecx
48efc0:	85 c0                	test   %eax,%eax
48efc2:	75 dd                	jne    0x48efa1
48efc4:	89 5d bc             	mov    %ebx,-0x44(%ebp)
48efc7:	8b 5d b8             	mov    -0x48(%ebp),%ebx
48efca:	80 7d d7 2d          	cmpb   $0x2d,-0x29(%ebp)
48efce:	8b 45 bc             	mov    -0x44(%ebp),%eax
48efd1:	75 02                	jne    0x48efd5
48efd3:	f7 d8                	neg    %eax
48efd5:	01 03                	add    %eax,(%ebx)
48efd7:	8b 45 b0             	mov    -0x50(%ebp),%eax
48efda:	85 c0                	test   %eax,%eax
48efdc:	74 09                	je     0x48efe7
48efde:	85 ff                	test   %edi,%edi
48efe0:	75 03                	jne    0x48efe5
48efe2:	8b 75 08             	mov    0x8(%ebp),%esi
48efe5:	89 30                	mov    %esi,(%eax)
48efe7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48efea:	8b 45 c8             	mov    -0x38(%ebp),%eax
48efed:	33 cd                	xor    %ebp,%ecx
48efef:	5f                   	pop    %edi
48eff0:	5e                   	pop    %esi
48eff1:	5b                   	pop    %ebx
48eff2:	e8 09 0f 00 00       	call   0x48ff00
48eff7:	c9                   	leave
48eff8:	c3                   	ret
48eff9:	8b ff                	mov    %edi,%edi
48effb:	55                   	push   %ebp
48effc:	8b ec                	mov    %esp,%ebp
48effe:	5d                   	pop    %ebp
48efff:	e9 5d 01 00 00       	jmp    0x48f161
48f004:	8b ff                	mov    %edi,%edi
48f006:	55                   	push   %ebp
48f007:	8b ec                	mov    %esp,%ebp
48f009:	51                   	push   %ecx
48f00a:	56                   	push   %esi
48f00b:	8b 75 08             	mov    0x8(%ebp),%esi
48f00e:	8d 45 fc             	lea    -0x4(%ebp),%eax
48f011:	56                   	push   %esi
48f012:	50                   	push   %eax
48f013:	e8 1c 08 00 00       	call   0x48f834
48f018:	dd 06                	fldl   (%esi)
48f01a:	dc 4d 0c             	fmull  0xc(%ebp)
48f01d:	0f bf 45 fc          	movswl -0x4(%ebp),%eax
48f021:	50                   	push   %eax
48f022:	56                   	push   %esi
48f023:	dd 1e                	fstpl  (%esi)
48f025:	e8 cf ff ff ff       	call   0x48eff9
48f02a:	83 c4 10             	add    $0x10,%esp
48f02d:	5e                   	pop    %esi
48f02e:	c9                   	leave
48f02f:	c3                   	ret
48f030:	8b ff                	mov    %edi,%edi
48f032:	55                   	push   %ebp
48f033:	8b ec                	mov    %esp,%ebp
48f035:	51                   	push   %ecx
48f036:	53                   	push   %ebx
48f037:	8b 5d 10             	mov    0x10(%ebp),%ebx
48f03a:	85 db                	test   %ebx,%ebx
48f03c:	0f 84 19 01 00 00    	je     0x48f15b
48f042:	dd 45 08             	fldl   0x8(%ebp)
48f045:	d9 ee                	fldz
48f047:	da e9                	fucompp
48f049:	df e0                	fnstsw %ax
48f04b:	f6 c4 44             	test   $0x44,%ah
48f04e:	0f 8b 07 01 00 00    	jnp    0x48f15b
48f054:	d9 e8                	fld1
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)