602151:	8d 43 20             	lea    0x20(%ebx),%eax
602154:	6a 00                	push   $0x0
602156:	50                   	push   %eax
602157:	8d 43 10             	lea    0x10(%ebx),%eax
60215a:	50                   	push   %eax
60215b:	ff 73 0c             	push   0xc(%ebx)
60215e:	8d 43 28             	lea    0x28(%ebx),%eax
602161:	ff 73 08             	push   0x8(%ebx)
602164:	dd 5d b0             	fstpl  -0x50(%ebp)
602167:	50                   	push   %eax
602168:	8d 45 80             	lea    -0x80(%ebp),%eax
60216b:	50                   	push   %eax
60216c:	e8 8e 02 00 00       	call   0x6023ff
602171:	8b 73 28             	mov    0x28(%ebx),%esi
602174:	83 c4 1c             	add    $0x1c,%esp
602177:	eb 02                	jmp    0x60217b
602179:	dd d8                	fstp   %st(0)
60217b:	ff 73 08             	push   0x8(%ebx)
60217e:	e8 7d fe ff ff       	call   0x602000
602183:	59                   	pop    %ecx
602184:	8b f8                	mov    %eax,%edi
602186:	e8 4e 06 00 00       	call   0x6027d9
60218b:	84 c0                	test   %al,%al
60218d:	74 2a                	je     0x6021b9
60218f:	85 ff                	test   %edi,%edi
602191:	74 26                	je     0x6021b9
602193:	dd 43 20             	fldl   0x20(%ebx)
602196:	56                   	push   %esi
602197:	83 ec 18             	sub    $0x18,%esp
60219a:	dd 5c 24 10          	fstpl  0x10(%esp)
60219e:	dd 43 18             	fldl   0x18(%ebx)
6021a1:	dd 5c 24 08          	fstpl  0x8(%esp)
6021a5:	dd 43 10             	fldl   0x10(%ebx)
6021a8:	dd 1c 24             	fstpl  (%esp)
6021ab:	ff 73 0c             	push   0xc(%ebx)
6021ae:	57                   	push   %edi
6021af:	e8 70 05 00 00       	call   0x602724
6021b4:	83 c4 24             	add    $0x24,%esp
6021b7:	eb 18                	jmp    0x6021d1
6021b9:	57                   	push   %edi
6021ba:	e8 36 05 00 00       	call   0x6026f5
6021bf:	c7 04 24 ff ff 00 00 	movl   $0xffff,(%esp)
6021c6:	56                   	push   %esi
6021c7:	e8 ce 4b 00 00       	call   0x606d9a
6021cc:	dd 43 20             	fldl   0x20(%ebx)
6021cf:	59                   	pop    %ecx
6021d0:	59                   	pop    %ecx
6021d1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
6021d4:	5f                   	pop    %edi
6021d5:	33 cd                	xor    %ebp,%ecx
6021d7:	5e                   	pop    %esi
6021d8:	e8 fd f2 fd ff       	call   0x5e14da
6021dd:	8b e5                	mov    %ebp,%esp
6021df:	5d                   	pop    %ebp
6021e0:	8b e3                	mov    %ebx,%esp
6021e2:	5b                   	pop    %ebx
6021e3:	c3                   	ret
6021e4:	8b ff                	mov    %edi,%edi
6021e6:	55                   	push   %ebp
6021e7:	8b ec                	mov    %esp,%ebp
6021e9:	83 ec 10             	sub    $0x10,%esp
6021ec:	53                   	push   %ebx
6021ed:	8b 5d 08             	mov    0x8(%ebp),%ebx
6021f0:	56                   	push   %esi
6021f1:	8b f3                	mov    %ebx,%esi
6021f3:	83 e6 1f             	and    $0x1f,%esi
6021f6:	f6 c3 08             	test   $0x8,%bl
6021f9:	74 16                	je     0x602211
6021fb:	f6 45 10 01          	testb  $0x1,0x10(%ebp)
6021ff:	74 10                	je     0x602211
602201:	6a 01                	push   $0x1
602203:	e8 bc 4b 00 00       	call   0x606dc4
602208:	59                   	pop    %ecx
602209:	83 e6 f7             	and    $0xfffffff7,%esi
60220c:	e9 9d 01 00 00       	jmp    0x6023ae
602211:	8b c3                	mov    %ebx,%eax
602213:	23 45 10             	and    0x10(%ebp),%eax
602216:	a8 04                	test   $0x4,%al
602218:	74 10                	je     0x60222a
60221a:	6a 04                	push   $0x4
60221c:	e8 a3 4b 00 00       	call   0x606dc4
602221:	59                   	pop    %ecx
602222:	83 e6 fb             	and    $0xfffffffb,%esi
602225:	e9 84 01 00 00       	jmp    0x6023ae
60222a:	f6 c3 01             	test   $0x1,%bl
60222d:	0f 84 9a 00 00 00    	je     0x6022cd
602233:	f6 45 10 08          	testb  $0x8,0x10(%ebp)
602237:	0f 84 90 00 00 00    	je     0x6022cd
60223d:	6a 08                	push   $0x8
60223f:	e8 80 4b 00 00       	call   0x606dc4
602244:	8b 45 10             	mov    0x10(%ebp),%eax
602247:	59                   	pop    %ecx
602248:	b9 00 0c 00 00       	mov    $0xc00,%ecx
60224d:	23 c1                	and    %ecx,%eax
60224f:	74 54                	je     0x6022a5
602251:	3d 00 04 00 00       	cmp    $0x400,%eax
602256:	74 37                	je     0x60228f
602258:	3d 00 08 00 00       	cmp    $0x800,%eax
60225d:	74 1a                	je     0x602279
60225f:	3b c1                	cmp    %ecx,%eax
602261:	75 62                	jne    0x6022c5
602263:	8b 4d 0c             	mov    0xc(%ebp),%ecx
602266:	d9 ee                	fldz
602268:	dc 19                	fcompl (%ecx)
60226a:	df e0                	fnstsw %ax
60226c:	dd 05 28 4b 6d 00    	fldl   0x6d4b28
602272:	f6 c4 05             	test   $0x5,%ah
602275:	7b 4c                	jnp    0x6022c3
602277:	eb 48                	jmp    0x6022c1
602279:	8b 4d 0c             	mov    0xc(%ebp),%ecx
60227c:	d9 ee                	fldz
60227e:	dc 19                	fcompl (%ecx)
602280:	df e0                	fnstsw %ax
602282:	f6 c4 05             	test   $0x5,%ah
602285:	7b 2c                	jnp    0x6022b3
602287:	dd 05 28 4b 6d 00    	fldl   0x6d4b28
60228d:	eb 32                	jmp    0x6022c1
60228f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
602292:	d9 ee                	fldz
602294:	dc 19                	fcompl (%ecx)
602296:	df e0                	fnstsw %ax
602298:	f6 c4 05             	test   $0x5,%ah
60229b:	7a 1e                	jp     0x6022bb
60229d:	dd 05 28 4b 6d 00    	fldl   0x6d4b28
6022a3:	eb 1e                	jmp    0x6022c3
6022a5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
6022a8:	d9 ee                	fldz
6022aa:	dc 19                	fcompl (%ecx)
6022ac:	df e0                	fnstsw %ax
6022ae:	f6 c4 05             	test   $0x5,%ah
6022b1:	7a 08                	jp     0x6022bb
6022b3:	dd 05 18 4b 6d 00    	fldl   0x6d4b18
6022b9:	eb 08                	jmp    0x6022c3
6022bb:	dd 05 18 4b 6d 00    	fldl   0x6d4b18
6022c1:	d9 e0                	fchs
6022c3:	dd 19                	fstpl  (%ecx)
6022c5:	83 e6 fe             	and    $0xfffffffe,%esi
6022c8:	e9 e1 00 00 00       	jmp    0x6023ae
6022cd:	f6 c3 02             	test   $0x2,%bl
6022d0:	0f 84 d8 00 00 00    	je     0x6023ae
6022d6:	f6 45 10 10          	testb  $0x10,0x10(%ebp)
6022da:	0f 84 ce 00 00 00    	je     0x6023ae
6022e0:	8b 45 0c             	mov    0xc(%ebp),%eax
6022e3:	57                   	push   %edi
6022e4:	8b fb                	mov    %ebx,%edi
6022e6:	c1 ef 04             	shr    $0x4,%edi
6022e9:	dd 00                	fldl   (%eax)
6022eb:	83 e7 01             	and    $0x1,%edi
6022ee:	d9 ee                	fldz
6022f0:	dd e9                	fucomp %st(1)
6022f2:	df e0                	fnstsw %ax
6022f4:	f6 c4 44             	test   $0x44,%ah
6022f7:	0f 8b 9c 00 00 00    	jnp    0x602399
6022fd:	8d 45 fc             	lea    -0x4(%ebp),%eax
602300:	50                   	push   %eax
602301:	51                   	push   %ecx
602302:	51                   	push   %ecx
602303:	dd 1c 24             	fstpl  (%esp)
602306:	e8 a1 48 00 00       	call   0x606bac
60230b:	8b 55 fc             	mov    -0x4(%ebp),%edx
60230e:	83 c4 0c             	add    $0xc,%esp
602311:	81 c2 00 fa ff ff    	add    $0xfffffa00,%edx
602317:	dd 55 f0             	fstl   -0x10(%ebp)
60231a:	d9 ee                	fldz
60231c:	81 fa ce fb ff ff    	cmp    $0xfffffbce,%edx
602322:	7d 07                	jge    0x60232b
602324:	33 ff                	xor    %edi,%edi
602326:	de c9                	fmulp  %st,%st(1)
602328:	47                   	inc    %edi
602329:	eb 67                	jmp    0x602392
60232b:	de d9                	fcompp
60232d:	df e0                	fnstsw %ax
60232f:	f6 c4 41             	test   $0x41,%ah
602332:	75 09                	jne    0x60233d
602334:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
60233b:	eb 04                	jmp    0x602341
60233d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
602341:	8b 45 f6             	mov    -0xa(%ebp),%eax
602344:	b9 03 fc ff ff       	mov    $0xfffffc03,%ecx
602349:	83 e0 0f             	and    $0xf,%eax
60234c:	83 c8 10             	or     $0x10,%eax
60234f:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
602353:	3b d1                	cmp    %ecx,%edx
602355:	7d 30                	jge    0x602387
602357:	8b 45 f0             	mov    -0x10(%ebp),%eax
60235a:	2b ca                	sub    %edx,%ecx
60235c:	8b 55 f4             	mov    -0xc(%ebp),%edx
60235f:	f6 45 f0 01          	testb  $0x1,-0x10(%ebp)
602363:	74 05                	je     0x60236a
602365:	85 ff                	test   %edi,%edi
602367:	75 01                	jne    0x60236a
602369:	47                   	inc    %edi
60236a:	d1 e8                	shr    $1,%eax
60236c:	f6 45 f4 01          	testb  $0x1,-0xc(%ebp)
602370:	89 45 f0             	mov    %eax,-0x10(%ebp)
602373:	74 08                	je     0x60237d
602375:	0d 00 00 00 80       	or     $0x80000000,%eax
60237a:	89 45 f0             	mov    %eax,-0x10(%ebp)
60237d:	d1 ea                	shr    $1,%edx
60237f:	89 55 f4             	mov    %edx,-0xc(%ebp)
602382:	83 e9 01             	sub    $0x1,%ecx
602385:	75 d8                	jne    0x60235f
602387:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
60238b:	dd 45 f0             	fldl   -0x10(%ebp)
60238e:	74 02                	je     0x602392
602390:	d9 e0                	fchs
602392:	8b 45 0c             	mov    0xc(%ebp),%eax
602395:	dd 18                	fstpl  (%eax)
602397:	eb 05                	jmp    0x60239e
602399:	33 ff                	xor    %edi,%edi
60239b:	dd d8                	fstp   %st(0)
60239d:	47                   	inc    %edi
60239e:	85 ff                	test   %edi,%edi
6023a0:	5f                   	pop    %edi
6023a1:	74 08                	je     0x6023ab
6023a3:	6a 10                	push   $0x10
6023a5:	e8 1a 4a 00 00       	call   0x606dc4
6023aa:	59                   	pop    %ecx
6023ab:	83 e6 fd             	and    $0xfffffffd,%esi
6023ae:	f6 c3 10             	test   $0x10,%bl
6023b1:	74 11                	je     0x6023c4
6023b3:	f6 45 10 20          	testb  $0x20,0x10(%ebp)
6023b7:	74 0b                	je     0x6023c4
6023b9:	6a 20                	push   $0x20
6023bb:	e8 04 4a 00 00       	call   0x606dc4
6023c0:	59                   	pop    %ecx
6023c1:	83 e6 ef             	and    $0xffffffef,%esi
6023c4:	33 c0                	xor    %eax,%eax
6023c6:	85 f6                	test   %esi,%esi
6023c8:	5e                   	pop    %esi
6023c9:	0f 94 c0             	sete   %al
6023cc:	5b                   	pop    %ebx
6023cd:	c9                   	leave
6023ce:	c3                   	ret
6023cf:	8b ff                	mov    %edi,%edi
6023d1:	55                   	push   %ebp
6023d2:	8b ec                	mov    %esp,%ebp
6023d4:	dd 45 08             	fldl   0x8(%ebp)
6023d7:	dc 45 10             	faddl  0x10(%ebp)
6023da:	5d                   	pop    %ebp
6023db:	c3                   	ret
6023dc:	8b ff                	mov    %edi,%edi
6023de:	55                   	push   %ebp
6023df:	8b ec                	mov    %esp,%ebp
6023e1:	6a 00                	push   $0x0
6023e3:	ff 75 1c             	push   0x1c(%ebp)
6023e6:	ff 75 18             	push   0x18(%ebp)
6023e9:	ff 75 14             	push   0x14(%ebp)
6023ec:	ff 75 10             	push   0x10(%ebp)
6023ef:	ff 75 0c             	push   0xc(%ebp)
6023f2:	ff 75 08             	push   0x8(%ebp)
6023f5:	e8 05 00 00 00       	call   0x6023ff
6023fa:	83 c4 1c             	add    $0x1c,%esp
6023fd:	5d                   	pop    %ebp
6023fe:	c3                   	ret
6023ff:	8b ff                	mov    %edi,%edi
602401:	55                   	push   %ebp
602402:	8b ec                	mov    %esp,%ebp
602404:	8b 45 08             	mov    0x8(%ebp),%eax
602407:	33 c9                	xor    %ecx,%ecx
602409:	53                   	push   %ebx
60240a:	33 db                	xor    %ebx,%ebx
60240c:	43                   	inc    %ebx
60240d:	89 48 04             	mov    %ecx,0x4(%eax)
602410:	8b 45 08             	mov    0x8(%ebp),%eax
602413:	57                   	push   %edi
602414:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
602419:	89 48 08             	mov    %ecx,0x8(%eax)
60241c:	8b 45 08             	mov    0x8(%ebp),%eax
60241f:	89 48 0c             	mov    %ecx,0xc(%eax)
602422:	8b 4d 10             	mov    0x10(%ebp),%ecx
602425:	f6 c1 10             	test   $0x10,%cl
602428:	74 0b                	je     0x602435
60242a:	8b 45 08             	mov    0x8(%ebp),%eax
60242d:	bf 8f 00 00 c0       	mov    $0xc000008f,%edi
602432:	09 58 04             	or     %ebx,0x4(%eax)
602435:	f6 c1 02             	test   $0x2,%cl
602438:	74 0c                	je     0x602446
60243a:	8b 45 08             	mov    0x8(%ebp),%eax
60243d:	bf 93 00 00 c0       	mov    $0xc0000093,%edi
602442:	83 48 04 02          	orl    $0x2,0x4(%eax)
602446:	f6 c1 01             	test   $0x1,%cl
602449:	74 0c                	je     0x602457
60244b:	8b 45 08             	mov    0x8(%ebp),%eax
60244e:	bf 91 00 00 c0       	mov    $0xc0000091,%edi
602453:	83 48 04 04          	orl    $0x4,0x4(%eax)
602457:	f6 c1 04             	test   $0x4,%cl
60245a:	74 0c                	je     0x602468
60245c:	8b 45 08             	mov    0x8(%ebp),%eax
60245f:	bf 8e 00 00 c0       	mov    $0xc000008e,%edi
602464:	83 48 04 08          	orl    $0x8,0x4(%eax)
602468:	f6 c1 08             	test   $0x8,%cl
60246b:	74 0c                	je     0x602479
60246d:	8b 45 08             	mov    0x8(%ebp),%eax
602470:	bf 90 00 00 c0       	mov    $0xc0000090,%edi
602475:	83 48 04 10          	orl    $0x10,0x4(%eax)
602479:	8b 4d 08             	mov    0x8(%ebp),%ecx
60247c:	56                   	push   %esi
60247d:	8b 75 0c             	mov    0xc(%ebp),%esi
602480:	8b 06                	mov    (%esi),%eax
602482:	c1 e0 04             	shl    $0x4,%eax
602485:	f7 d0                	not    %eax
602487:	33 41 08             	xor    0x8(%ecx),%eax
60248a:	83 e0 10             	and    $0x10,%eax
60248d:	31 41 08             	xor    %eax,0x8(%ecx)
602490:	8b 4d 08             	mov    0x8(%ebp),%ecx
602493:	8b 06                	mov    (%esi),%eax
602495:	03 c0                	add    %eax,%eax
602497:	f7 d0                	not    %eax
602499:	33 41 08             	xor    0x8(%ecx),%eax
60249c:	83 e0 08             	and    $0x8,%eax
60249f:	31 41 08             	xor    %eax,0x8(%ecx)
6024a2:	8b 4d 08             	mov    0x8(%ebp),%ecx
6024a5:	8b 06                	mov    (%esi),%eax
6024a7:	d1 e8                	shr    $1,%eax
6024a9:	f7 d0                	not    %eax
6024ab:	33 41 08             	xor    0x8(%ecx),%eax
6024ae:	83 e0 04             	and    $0x4,%eax
6024b1:	31 41 08             	xor    %eax,0x8(%ecx)
6024b4:	8b 4d 08             	mov    0x8(%ebp),%ecx
6024b7:	8b 06                	mov    (%esi),%eax
6024b9:	c1 e8 03             	shr    $0x3,%eax
6024bc:	f7 d0                	not    %eax
6024be:	33 41 08             	xor    0x8(%ecx),%eax
6024c1:	83 e0 02             	and    $0x2,%eax
6024c4:	31 41 08             	xor    %eax,0x8(%ecx)
6024c7:	8b 06                	mov    (%esi),%eax
6024c9:	8b 4d 08             	mov    0x8(%ebp),%ecx
6024cc:	c1 e8 05             	shr    $0x5,%eax
6024cf:	f7 d0                	not    %eax
6024d1:	33 41 08             	xor    0x8(%ecx),%eax
6024d4:	23 c3                	and    %ebx,%eax
6024d6:	31 41 08             	xor    %eax,0x8(%ecx)
6024d9:	e8 3f 49 00 00       	call   0x606e1d
6024de:	8b d0                	mov    %eax,%edx
6024e0:	f6 c2 01             	test   $0x1,%dl
6024e3:	74 07                	je     0x6024ec
6024e5:	8b 4d 08             	mov    0x8(%ebp),%ecx
6024e8:	83 49 0c 10          	orl    $0x10,0xc(%ecx)
6024ec:	f6 c2 04             	test   $0x4,%dl
6024ef:	74 07                	je     0x6024f8
6024f1:	8b 45 08             	mov    0x8(%ebp),%eax
6024f4:	83 48 0c 08          	orl    $0x8,0xc(%eax)
6024f8:	f6 c2 08             	test   $0x8,%dl
6024fb:	74 07                	je     0x602504
6024fd:	8b 45 08             	mov    0x8(%ebp),%eax
602500:	83 48 0c 04          	orl    $0x4,0xc(%eax)
602504:	f6 c2 10             	test   $0x10,%dl
602507:	74 07                	je     0x602510
602509:	8b 45 08             	mov    0x8(%ebp),%eax