48525d:	db 45 e8             	fildl  -0x18(%ebp)
485260:	dd 5d e4             	fstpl  -0x1c(%ebp)
485263:	dd 45 e4             	fldl   -0x1c(%ebp)
485266:	0f b6 43 03          	movzbl 0x3(%ebx),%eax
48526a:	de ca                	fmulp  %st,%st(2)
48526c:	d9 ca                	fxch   %st(2)
48526e:	89 45 e8             	mov    %eax,-0x18(%ebp)
485271:	8b 45 f8             	mov    -0x8(%ebp),%eax
485274:	de c1                	faddp  %st,%st(1)
485276:	db 45 e8             	fildl  -0x18(%ebp)
485279:	dd 5d e4             	fstpl  -0x1c(%ebp)
48527c:	dd 45 e4             	fldl   -0x1c(%ebp)
48527f:	0f b6 40 03          	movzbl 0x3(%eax),%eax
485283:	de cb                	fmulp  %st,%st(3)
485285:	89 45 e8             	mov    %eax,-0x18(%ebp)
485288:	de c2                	faddp  %st,%st(2)
48528a:	db 45 e8             	fildl  -0x18(%ebp)
48528d:	dd 5d e4             	fstpl  -0x1c(%ebp)
485290:	dc 4d e4             	fmull  -0x1c(%ebp)
485293:	de c1                	faddp  %st,%st(1)
485295:	e8 81 bd 00 00       	call   0x49101b
48529a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
48529d:	5f                   	pop    %edi
48529e:	5e                   	pop    %esi
48529f:	5b                   	pop    %ebx
4852a0:	88 41 03             	mov    %al,0x3(%ecx)
4852a3:	c9                   	leave
4852a4:	c2 08 00             	ret    $0x8
4852a7:	8b ff                	mov    %edi,%edi
4852a9:	55                   	push   %ebp
4852aa:	8b ec                	mov    %esp,%ebp
4852ac:	83 ec 5c             	sub    $0x5c,%esp
4852af:	8b 45 08             	mov    0x8(%ebp),%eax
4852b2:	53                   	push   %ebx
4852b3:	56                   	push   %esi
4852b4:	57                   	push   %edi
4852b5:	d9 00                	flds   (%eax)
4852b7:	8b fa                	mov    %edx,%edi
4852b9:	d9 5d ec             	fstps  -0x14(%ebp)
4852bc:	d9 45 ec             	flds   -0x14(%ebp)
4852bf:	d9 55 e8             	fsts   -0x18(%ebp)
4852c2:	89 7d e0             	mov    %edi,-0x20(%ebp)
4852c5:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4852c8:	e8 54 bd 00 00       	call   0x491021
4852cd:	8b f0                	mov    %eax,%esi
4852cf:	8b 45 0c             	mov    0xc(%ebp),%eax
4852d2:	89 75 f8             	mov    %esi,-0x8(%ebp)
4852d5:	d9 00                	flds   (%eax)
4852d7:	d9 5d ec             	fstps  -0x14(%ebp)
4852da:	d9 45 ec             	flds   -0x14(%ebp)
4852dd:	d9 55 ec             	fsts   -0x14(%ebp)
4852e0:	e8 3c bd 00 00       	call   0x491021
4852e5:	d9 45 ec             	flds   -0x14(%ebp)
4852e8:	8b d8                	mov    %eax,%ebx
4852ea:	d9 c0                	fld    %st(0)
4852ec:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4852ef:	db 45 f4             	fildl  -0xc(%ebp)
4852f2:	d9 5d ec             	fstps  -0x14(%ebp)
4852f5:	d8 65 ec             	fsubs  -0x14(%ebp)
4852f8:	d9 5d ec             	fstps  -0x14(%ebp)
4852fb:	d9 45 e8             	flds   -0x18(%ebp)
4852fe:	d9 c0                	fld    %st(0)
485300:	db 45 f8             	fildl  -0x8(%ebp)
485303:	d9 5d e8             	fstps  -0x18(%ebp)
485306:	d8 65 e8             	fsubs  -0x18(%ebp)
485309:	d9 5d e8             	fstps  -0x18(%ebp)
48530c:	d9 45 e8             	flds   -0x18(%ebp)
48530f:	d9 ee                	fldz
485311:	d8 d1                	fcom   %st(1)
485313:	df e0                	fnstsw %ax
485315:	dd d9                	fstp   %st(1)
485317:	f6 c4 05             	test   $0x5,%ah
48531a:	7a 04                	jp     0x485320
48531c:	46                   	inc    %esi
48531d:	89 75 f8             	mov    %esi,-0x8(%ebp)
485320:	d9 45 ec             	flds   -0x14(%ebp)
485323:	da e9                	fucompp
485325:	df e0                	fnstsw %ax
485327:	f6 c4 44             	test   $0x44,%ah
48532a:	7a 04                	jp     0x485330
48532c:	4b                   	dec    %ebx
48532d:	89 5d f4             	mov    %ebx,-0xc(%ebp)
485330:	3b 3d 08 65 4a 00    	cmp    0x4a6508,%edi
485336:	0f 8c 99 06 00 00    	jl     0x4859d5
48533c:	3b 3d 10 65 4a 00    	cmp    0x4a6510,%edi
485342:	0f 8d 8d 06 00 00    	jge    0x4859d5
485348:	3b 3d fc 47 4a 00    	cmp    0x4a47fc,%edi
48534e:	0f 8d 81 06 00 00    	jge    0x4859d5
485354:	85 f6                	test   %esi,%esi
485356:	79 05                	jns    0x48535d
485358:	33 f6                	xor    %esi,%esi
48535a:	89 75 f8             	mov    %esi,-0x8(%ebp)
48535d:	a1 04 65 4a 00       	mov    0x4a6504,%eax
485362:	3b f0                	cmp    %eax,%esi
485364:	7d 05                	jge    0x48536b
485366:	8b f0                	mov    %eax,%esi
485368:	89 75 f8             	mov    %esi,-0x8(%ebp)
48536b:	a1 40 48 4a 00       	mov    0x4a4840,%eax
485370:	3b d8                	cmp    %eax,%ebx
485372:	7c 06                	jl     0x48537a
485374:	8d 58 ff             	lea    -0x1(%eax),%ebx
485377:	89 5d f4             	mov    %ebx,-0xc(%ebp)
48537a:	a1 0c 65 4a 00       	mov    0x4a650c,%eax
48537f:	3b d8                	cmp    %eax,%ebx
485381:	7c 06                	jl     0x485389
485383:	8d 58 ff             	lea    -0x1(%eax),%ebx
485386:	89 5d f4             	mov    %ebx,-0xc(%ebp)
485389:	3b f3                	cmp    %ebx,%esi
48538b:	0f 8f 44 06 00 00    	jg     0x4859d5
485391:	db 45 f8             	fildl  -0x8(%ebp)
485394:	d9 5d e8             	fstps  -0x18(%ebp)
485397:	d9 45 e8             	flds   -0x18(%ebp)
48539a:	d8 d1                	fcom   %st(1)
48539c:	df e0                	fnstsw %ax
48539e:	f6 c4 01             	test   $0x1,%ah
4853a1:	0f 85 2c 06 00 00    	jne    0x4859d3
4853a7:	d8 da                	fcomp  %st(2)
4853a9:	df e0                	fnstsw %ax
4853ab:	f6 c4 41             	test   $0x41,%ah
4853ae:	0f 8a 2c 06 00 00    	jp     0x4859e0
4853b4:	db 45 f4             	fildl  -0xc(%ebp)
4853b7:	d9 5d e8             	fstps  -0x18(%ebp)
4853ba:	d9 45 e8             	flds   -0x18(%ebp)
4853bd:	d8 d1                	fcom   %st(1)
4853bf:	df e0                	fnstsw %ax
4853c1:	dd d9                	fstp   %st(1)
4853c3:	f6 c4 01             	test   $0x1,%ah
4853c6:	0f 85 09 06 00 00    	jne    0x4859d5
4853cc:	de d9                	fcompp
4853ce:	df e0                	fnstsw %ax
4853d0:	f6 c4 41             	test   $0x41,%ah
4853d3:	0f 8a 00 06 00 00    	jp     0x4859d9
4853d9:	33 c0                	xor    %eax,%eax
4853db:	8b 55 0c             	mov    0xc(%ebp),%edx
4853de:	8d 7d b8             	lea    -0x48(%ebp),%edi
4853e1:	ab                   	stos   %eax,%es:(%edi)
4853e2:	51                   	push   %ecx
4853e3:	8b 4d 08             	mov    0x8(%ebp),%ecx
4853e6:	56                   	push   %esi
4853e7:	ab                   	stos   %eax,%es:(%edi)
4853e8:	ab                   	stos   %eax,%es:(%edi)
4853e9:	ab                   	stos   %eax,%es:(%edi)
4853ea:	ab                   	stos   %eax,%es:(%edi)
4853eb:	33 c0                	xor    %eax,%eax
4853ed:	8d 7d a4             	lea    -0x5c(%ebp),%edi
4853f0:	ab                   	stos   %eax,%es:(%edi)
4853f1:	ab                   	stos   %eax,%es:(%edi)
4853f2:	ab                   	stos   %eax,%es:(%edi)
4853f3:	ab                   	stos   %eax,%es:(%edi)
4853f4:	ab                   	stos   %eax,%es:(%edi)
4853f5:	8d 45 a4             	lea    -0x5c(%ebp),%eax
4853f8:	50                   	push   %eax
4853f9:	8d 45 b8             	lea    -0x48(%ebp),%eax
4853fc:	50                   	push   %eax
4853fd:	e8 65 fa ff ff       	call   0x484e67
485402:	8b 7d e4             	mov    -0x1c(%ebp),%edi
485405:	8d 45 f0             	lea    -0x10(%ebp),%eax
485408:	50                   	push   %eax
485409:	8d 4f 20             	lea    0x20(%edi),%ecx
48540c:	e8 d8 b8 ff ff       	call   0x480ce9
485411:	8b 45 f0             	mov    -0x10(%ebp),%eax
485414:	8b c8                	mov    %eax,%ecx
485416:	8b 55 18             	mov    0x18(%ebp),%edx
485419:	2b 5d f8             	sub    -0x8(%ebp),%ebx
48541c:	c1 e8 08             	shr    $0x8,%eax
48541f:	89 45 ec             	mov    %eax,-0x14(%ebp)
485422:	8b 42 08             	mov    0x8(%edx),%eax
485425:	0f af 45 e0          	imul   -0x20(%ebp),%eax
485429:	c1 e9 10             	shr    $0x10,%ecx
48542c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
48542f:	8d 0c b0             	lea    (%eax,%esi,4),%ecx
485432:	8b 72 10             	mov    0x10(%edx),%esi
485435:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
48543b:	83 c6 fc             	add    $0xfffffffc,%esi
48543e:	03 f1                	add    %ecx,%esi
485440:	8d 7b 01             	lea    0x1(%ebx),%edi
485443:	83 7d 1c 01          	cmpl   $0x1,0x1c(%ebp)
485447:	0f 85 c6 02 00 00    	jne    0x485713
48544d:	85 c0                	test   %eax,%eax
48544f:	0f 85 64 01 00 00    	jne    0x4855b9
485455:	8b 5d f4             	mov    -0xc(%ebp),%ebx
485458:	d9 45 c0             	flds   -0x40(%ebp)
48545b:	51                   	push   %ecx
48545c:	8b 4d 10             	mov    0x10(%ebp),%ecx
48545f:	d9 1c 24             	fstps  (%esp)
485462:	e8 0f fb ff ff       	call   0x484f76
485467:	ff 75 14             	push   0x14(%ebp)
48546a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
48546d:	50                   	push   %eax
48546e:	8d 55 d8             	lea    -0x28(%ebp),%edx
485471:	8d 4d fc             	lea    -0x4(%ebp),%ecx
485474:	d9 5d d8             	fstps  -0x28(%ebp)
485477:	e8 b6 fb ff ff       	call   0x485032
48547c:	0f b6 45 fd          	movzbl -0x3(%ebp),%eax
485480:	8d 76 04             	lea    0x4(%esi),%esi
485483:	8a 4e 03             	mov    0x3(%esi),%cl
485486:	84 c9                	test   %cl,%cl
485488:	75 2a                	jne    0x4854b4
48548a:	89 45 e0             	mov    %eax,-0x20(%ebp)
48548d:	db 45 e0             	fildl  -0x20(%ebp)
485490:	dd 5d dc             	fstpl  -0x24(%ebp)
485493:	dd 45 dc             	fldl   -0x24(%ebp)
485496:	d8 4d c8             	fmuls  -0x38(%ebp)
485499:	e8 7d bb 00 00       	call   0x49101b
48549e:	88 46 03             	mov    %al,0x3(%esi)
4854a1:	8b 45 ec             	mov    -0x14(%ebp),%eax
4854a4:	88 46 01             	mov    %al,0x1(%esi)
4854a7:	8a 45 f0             	mov    -0x10(%ebp),%al
4854aa:	88 5e 02             	mov    %bl,0x2(%esi)
4854ad:	88 06                	mov    %al,(%esi)
4854af:	e9 eb 00 00 00       	jmp    0x48559f
4854b4:	89 45 e0             	mov    %eax,-0x20(%ebp)
4854b7:	db 45 e0             	fildl  -0x20(%ebp)
4854ba:	0f b6 c1             	movzbl %cl,%eax
4854bd:	dd 5d dc             	fstpl  -0x24(%ebp)
4854c0:	dd 45 dc             	fldl   -0x24(%ebp)
4854c3:	d8 4d c8             	fmuls  -0x38(%ebp)
4854c6:	d9 c0                	fld    %st(0)
4854c8:	dc 35 c8 42 41 00    	fdivl  0x4142c8
4854ce:	d9 5d e0             	fstps  -0x20(%ebp)
4854d1:	d9 45 e0             	flds   -0x20(%ebp)
4854d4:	d9 e8                	fld1
4854d6:	d8 e1                	fsub   %st(1),%st
4854d8:	d9 5d e0             	fstps  -0x20(%ebp)
4854db:	d9 45 e0             	flds   -0x20(%ebp)
4854de:	89 45 e0             	mov    %eax,-0x20(%ebp)
4854e1:	db 45 e0             	fildl  -0x20(%ebp)
4854e4:	dd 5d dc             	fstpl  -0x24(%ebp)
4854e7:	dd 45 dc             	fldl   -0x24(%ebp)
4854ea:	d8 c9                	fmul   %st(1),%st
4854ec:	e8 2a bb 00 00       	call   0x49101b
4854f1:	d9 ca                	fxch   %st(2)
4854f3:	8a d8                	mov    %al,%bl
4854f5:	e8 21 bb 00 00       	call   0x49101b
4854fa:	02 d8                	add    %al,%bl
4854fc:	0f b6 46 02          	movzbl 0x2(%esi),%eax
485500:	89 45 e0             	mov    %eax,-0x20(%ebp)
485503:	db 45 e0             	fildl  -0x20(%ebp)
485506:	88 5e 03             	mov    %bl,0x3(%esi)
485509:	dd 5d dc             	fstpl  -0x24(%ebp)
48550c:	dd 45 dc             	fldl   -0x24(%ebp)
48550f:	d8 ca                	fmul   %st(2),%st
485511:	e8 05 bb 00 00       	call   0x49101b
485516:	8a d8                	mov    %al,%bl
485518:	8b 45 f4             	mov    -0xc(%ebp),%eax
48551b:	0f b6 c8             	movzbl %al,%ecx
48551e:	89 4d e0             	mov    %ecx,-0x20(%ebp)
485521:	db 45 e0             	fildl  -0x20(%ebp)
485524:	dd 5d dc             	fstpl  -0x24(%ebp)
485527:	dd 45 dc             	fldl   -0x24(%ebp)
48552a:	d8 c9                	fmul   %st(1),%st
48552c:	e8 ea ba 00 00       	call   0x49101b
485531:	02 d8                	add    %al,%bl
485533:	0f b6 46 01          	movzbl 0x1(%esi),%eax
485537:	89 45 e0             	mov    %eax,-0x20(%ebp)
48553a:	db 45 e0             	fildl  -0x20(%ebp)
48553d:	88 5e 02             	mov    %bl,0x2(%esi)
485540:	dd 5d dc             	fstpl  -0x24(%ebp)
485543:	dd 45 dc             	fldl   -0x24(%ebp)
485546:	d8 ca                	fmul   %st(2),%st
485548:	e8 ce ba 00 00       	call   0x49101b
48554d:	8a d8                	mov    %al,%bl
48554f:	8b 45 ec             	mov    -0x14(%ebp),%eax
485552:	0f b6 c8             	movzbl %al,%ecx
485555:	89 4d e0             	mov    %ecx,-0x20(%ebp)
485558:	db 45 e0             	fildl  -0x20(%ebp)
48555b:	dd 5d dc             	fstpl  -0x24(%ebp)
48555e:	dd 45 dc             	fldl   -0x24(%ebp)
485561:	d8 c9                	fmul   %st(1),%st
485563:	e8 b3 ba 00 00       	call   0x49101b
485568:	02 d8                	add    %al,%bl
48556a:	0f b6 45 f0          	movzbl -0x10(%ebp),%eax
48556e:	89 45 e0             	mov    %eax,-0x20(%ebp)
485571:	db 45 e0             	fildl  -0x20(%ebp)
485574:	88 5e 01             	mov    %bl,0x1(%esi)
485577:	dd 5d dc             	fstpl  -0x24(%ebp)
48557a:	dc 4d dc             	fmull  -0x24(%ebp)
48557d:	e8 99 ba 00 00       	call   0x49101b
485582:	0f b6 0e             	movzbl (%esi),%ecx
485585:	8a d8                	mov    %al,%bl
485587:	89 4d e0             	mov    %ecx,-0x20(%ebp)
48558a:	db 45 e0             	fildl  -0x20(%ebp)
48558d:	dd 5d dc             	fstpl  -0x24(%ebp)
485590:	dc 4d dc             	fmull  -0x24(%ebp)
485593:	e8 83 ba 00 00       	call   0x49101b
485598:	02 d8                	add    %al,%bl
48559a:	88 1e                	mov    %bl,(%esi)
48559c:	8b 5d f4             	mov    -0xc(%ebp),%ebx
48559f:	51                   	push   %ecx
4855a0:	8d 55 a4             	lea    -0x5c(%ebp),%edx
4855a3:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4855a6:	e8 a7 f9 ff ff       	call   0x484f52
4855ab:	83 ef 01             	sub    $0x1,%edi
4855ae:	0f 85 a4 fe ff ff    	jne    0x485458
4855b4:	e9 20 04 00 00       	jmp    0x4859d9
4855b9:	d9 45 c0             	flds   -0x40(%ebp)
4855bc:	51                   	push   %ecx
4855bd:	8b 4d 10             	mov    0x10(%ebp),%ecx
4855c0:	d9 1c 24             	fstps  (%esp)
4855c3:	e8 ae f9 ff ff       	call   0x484f76
4855c8:	ff 75 14             	push   0x14(%ebp)
4855cb:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4855ce:	50                   	push   %eax
4855cf:	8d 55 d4             	lea    -0x2c(%ebp),%edx
4855d2:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4855d5:	d9 5d d4             	fstps  -0x2c(%ebp)
4855d8:	e8 55 fa ff ff       	call   0x485032
4855dd:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
4855e1:	8d 76 04             	lea    0x4(%esi),%esi
4855e4:	8a 4e 03             	mov    0x3(%esi),%cl
4855e7:	84 c9                	test   %cl,%cl
4855e9:	75 2a                	jne    0x485615
4855eb:	89 45 e0             	mov    %eax,-0x20(%ebp)
4855ee:	db 45 e0             	fildl  -0x20(%ebp)
4855f1:	dd 5d dc             	fstpl  -0x24(%ebp)
4855f4:	dd 45 dc             	fldl   -0x24(%ebp)
4855f7:	d8 4d c8             	fmuls  -0x38(%ebp)
4855fa:	e8 1c ba 00 00       	call   0x49101b
4855ff:	88 46 03             	mov    %al,0x3(%esi)
485602:	8a 45 fe             	mov    -0x2(%ebp),%al
485605:	88 46 02             	mov    %al,0x2(%esi)
485608:	8b 45 fc             	mov    -0x4(%ebp),%eax
48560b:	88 66 01             	mov    %ah,0x1(%esi)
48560e:	88 06                	mov    %al,(%esi)
485610:	e9 e4 00 00 00       	jmp    0x4856f9
485615:	89 45 e0             	mov    %eax,-0x20(%ebp)
485618:	db 45 e0             	fildl  -0x20(%ebp)
48561b:	0f b6 c1             	movzbl %cl,%eax
48561e:	dd 5d dc             	fstpl  -0x24(%ebp)
485621:	dd 45 dc             	fldl   -0x24(%ebp)
485624:	d8 4d c8             	fmuls  -0x38(%ebp)
485627:	d9 c0                	fld    %st(0)
485629:	dc 35 c8 42 41 00    	fdivl  0x4142c8
48562f:	d9 5d e0             	fstps  -0x20(%ebp)
485632:	d9 45 e0             	flds   -0x20(%ebp)
485635:	d9 e8                	fld1
485637:	d8 e1                	fsub   %st(1),%st
485639:	d9 5d e0             	fstps  -0x20(%ebp)
48563c:	d9 45 e0             	flds   -0x20(%ebp)
48563f:	89 45 e0             	mov    %eax,-0x20(%ebp)
485642:	db 45 e0             	fildl  -0x20(%ebp)
485645:	dd 5d dc             	fstpl  -0x24(%ebp)
485648:	dd 45 dc             	fldl   -0x24(%ebp)
48564b:	d8 c9                	fmul   %st(1),%st
48564d:	e8 c9 b9 00 00       	call   0x49101b
485652:	d9 ca                	fxch   %st(2)
485654:	8a d8                	mov    %al,%bl
485656:	e8 c0 b9 00 00       	call   0x49101b
48565b:	02 d8                	add    %al,%bl
48565d:	0f b6 45 fe          	movzbl -0x2(%ebp),%eax