546333:	89 4c 24 7c          	mov    %ecx,0x7c(%esp)
546337:	db 44 24 7c          	fildl  0x7c(%esp)
54633b:	db 2d 1c 6c 54 00    	fldt   0x546c1c
546341:	de c9                	fmulp  %st,%st(1)
546343:	83 c4 f8             	add    $0xfffffff8,%esp
546346:	dd 1c 24             	fstpl  (%esp)
546349:	e8 0a 01 fe ff       	call   0x526458
54634e:	83 c4 10             	add    $0x10,%esp
546351:	d8 0d 28 6c 54 00    	fmuls  0x546c28
546357:	d8 05 2c 6c 54 00    	fadds  0x546c2c
54635d:	e8 b6 01 fe ff       	call   0x526518
546362:	88 44 24 13          	mov    %al,0x13(%esp)
546366:	ff 74 24 24          	push   0x24(%esp)
54636a:	ff 74 24 24          	push   0x24(%esp)
54636e:	0f b7 8b fc 00 00 00 	movzwl 0xfc(%ebx),%ecx
546375:	89 8c 24 80 00 00 00 	mov    %ecx,0x80(%esp)
54637c:	db 84 24 80 00 00 00 	fildl  0x80(%esp)
546383:	db 2d 1c 6c 54 00    	fldt   0x546c1c
546389:	de c9                	fmulp  %st,%st(1)
54638b:	83 c4 f8             	add    $0xfffffff8,%esp
54638e:	dd 1c 24             	fstpl  (%esp)
546391:	e8 c2 00 fe ff       	call   0x526458
546396:	83 c4 10             	add    $0x10,%esp
546399:	d8 0d 28 6c 54 00    	fmuls  0x546c28
54639f:	d8 05 2c 6c 54 00    	fadds  0x546c2c
5463a5:	e8 6e 01 fe ff       	call   0x526518
5463aa:	88 44 24 14          	mov    %al,0x14(%esp)
5463ae:	ff 74 24 24          	push   0x24(%esp)
5463b2:	ff 74 24 24          	push   0x24(%esp)
5463b6:	0f b7 8b fe 00 00 00 	movzwl 0xfe(%ebx),%ecx
5463bd:	89 8c 24 84 00 00 00 	mov    %ecx,0x84(%esp)
5463c4:	db 84 24 84 00 00 00 	fildl  0x84(%esp)
5463cb:	db 2d 1c 6c 54 00    	fldt   0x546c1c
5463d1:	de c9                	fmulp  %st,%st(1)
5463d3:	83 c4 f8             	add    $0xfffffff8,%esp
5463d6:	dd 1c 24             	fstpl  (%esp)
5463d9:	e8 7a 00 fe ff       	call   0x526458
5463de:	83 c4 10             	add    $0x10,%esp
5463e1:	d8 0d 28 6c 54 00    	fmuls  0x546c28
5463e7:	d8 05 2c 6c 54 00    	fadds  0x546c2c
5463ed:	e8 26 01 fe ff       	call   0x526518
5463f2:	88 44 24 15          	mov    %al,0x15(%esp)
5463f6:	33 f6                	xor    %esi,%esi
5463f8:	8b 44 24 18          	mov    0x18(%esp),%eax
5463fc:	8b 54 24 1c          	mov    0x1c(%esp),%edx
546400:	3b f2                	cmp    %edx,%esi
546402:	0f 8d 2a 07 00 00    	jge    0x546b32
546408:	0f b7 8b da 00 00 00 	movzwl 0xda(%ebx),%ecx
54640f:	3b f1                	cmp    %ecx,%esi
546411:	0f 8d 89 01 00 00    	jge    0x5465a0
546417:	8b 93 48 01 00 00    	mov    0x148(%ebx),%edx
54641d:	8a 0c 32             	mov    (%edx,%esi,1),%cl
546420:	80 f9 ff             	cmp    $0xff,%cl
546423:	0f 84 77 01 00 00    	je     0x5465a0
546429:	8b 93 48 01 00 00    	mov    0x148(%ebx),%edx
54642f:	8a 0c 32             	mov    (%edx,%esi,1),%cl
546432:	84 c9                	test   %cl,%cl
546434:	75 14                	jne    0x54644a
546436:	66 8b 54 24 10       	mov    0x10(%esp),%dx
54643b:	66 89 10             	mov    %dx,(%eax)
54643e:	8a 54 24 12          	mov    0x12(%esp),%dl
546442:	88 50 02             	mov    %dl,0x2(%eax)
546445:	e9 87 01 00 00       	jmp    0x5465d1
54644a:	33 c9                	xor    %ecx,%ecx
54644c:	8a 08                	mov    (%eax),%cl
54644e:	8b 93 2c 01 00 00    	mov    0x12c(%ebx),%edx
546454:	8a 0c 0a             	mov    (%edx,%ecx,1),%cl
546457:	8b 93 48 01 00 00    	mov    0x148(%ebx),%edx
54645d:	81 e1 ff 00 00 00    	and    $0xff,%ecx
546463:	0f b7 c9             	movzwl %cx,%ecx
546466:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
54646a:	0f b7 d2             	movzwl %dx,%edx
54646d:	0f af d1             	imul   %ecx,%edx
546470:	8b 8b 48 01 00 00    	mov    0x148(%ebx),%ecx
546476:	66 bf ff 00          	mov    $0xff,%di
54647a:	0f b6 0c 31          	movzbl (%ecx,%esi,1),%ecx
54647e:	66 2b f9             	sub    %cx,%di
546481:	0f b7 cf             	movzwl %di,%ecx
546484:	0f b6 7c 24 13       	movzbl 0x13(%esp),%edi
546489:	0f b7 ff             	movzwl %di,%edi
54648c:	0f af cf             	imul   %edi,%ecx
54648f:	66 03 d1             	add    %cx,%dx
546492:	66 81 c2 80 00       	add    $0x80,%dx
546497:	0f b7 ca             	movzwl %dx,%ecx
54649a:	0f b7 d2             	movzwl %dx,%edx
54649d:	c1 fa 08             	sar    $0x8,%edx
5464a0:	03 ca                	add    %edx,%ecx
5464a2:	c1 f9 08             	sar    $0x8,%ecx
5464a5:	88 4c 24 30          	mov    %cl,0x30(%esp)
5464a9:	33 d2                	xor    %edx,%edx
5464ab:	8a 54 24 30          	mov    0x30(%esp),%dl
5464af:	8b 8b 28 01 00 00    	mov    0x128(%ebx),%ecx
5464b5:	8a 14 11             	mov    (%ecx,%edx,1),%dl
5464b8:	88 10                	mov    %dl,(%eax)
5464ba:	33 c9                	xor    %ecx,%ecx
5464bc:	8a 48 01             	mov    0x1(%eax),%cl
5464bf:	8b 93 2c 01 00 00    	mov    0x12c(%ebx),%edx
5464c5:	8a 0c 0a             	mov    (%edx,%ecx,1),%cl
5464c8:	8b 93 48 01 00 00    	mov    0x148(%ebx),%edx
5464ce:	81 e1 ff 00 00 00    	and    $0xff,%ecx
5464d4:	0f b7 c9             	movzwl %cx,%ecx
5464d7:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
5464db:	0f b7 d2             	movzwl %dx,%edx
5464de:	0f af d1             	imul   %ecx,%edx
5464e1:	8b 8b 48 01 00 00    	mov    0x148(%ebx),%ecx
5464e7:	66 bf ff 00          	mov    $0xff,%di
5464eb:	0f b6 0c 31          	movzbl (%ecx,%esi,1),%ecx
5464ef:	66 2b f9             	sub    %cx,%di
5464f2:	0f b7 cf             	movzwl %di,%ecx
5464f5:	0f b6 7c 24 14       	movzbl 0x14(%esp),%edi
5464fa:	0f b7 ff             	movzwl %di,%edi
5464fd:	0f af cf             	imul   %edi,%ecx
546500:	66 03 d1             	add    %cx,%dx
546503:	66 81 c2 80 00       	add    $0x80,%dx
546508:	0f b7 ca             	movzwl %dx,%ecx
54650b:	0f b7 d2             	movzwl %dx,%edx
54650e:	c1 fa 08             	sar    $0x8,%edx
546511:	03 ca                	add    %edx,%ecx
546513:	c1 f9 08             	sar    $0x8,%ecx
546516:	88 4c 24 30          	mov    %cl,0x30(%esp)
54651a:	33 d2                	xor    %edx,%edx
54651c:	8a 54 24 30          	mov    0x30(%esp),%dl
546520:	8b 8b 28 01 00 00    	mov    0x128(%ebx),%ecx
546526:	8a 14 11             	mov    (%ecx,%edx,1),%dl
546529:	88 50 01             	mov    %dl,0x1(%eax)
54652c:	33 c9                	xor    %ecx,%ecx
54652e:	8a 48 02             	mov    0x2(%eax),%cl
546531:	8b 93 2c 01 00 00    	mov    0x12c(%ebx),%edx
546537:	8a 0c 0a             	mov    (%edx,%ecx,1),%cl
54653a:	8b 93 48 01 00 00    	mov    0x148(%ebx),%edx
546540:	81 e1 ff 00 00 00    	and    $0xff,%ecx
546546:	0f b7 c9             	movzwl %cx,%ecx
546549:	0f b6 14 32          	movzbl (%edx,%esi,1),%edx
54654d:	0f b7 d2             	movzwl %dx,%edx
546550:	0f af d1             	imul   %ecx,%edx
546553:	8b 8b 48 01 00 00    	mov    0x148(%ebx),%ecx
546559:	66 bf ff 00          	mov    $0xff,%di
54655d:	0f b6 0c 31          	movzbl (%ecx,%esi,1),%ecx
546561:	66 2b f9             	sub    %cx,%di
546564:	0f b7 cf             	movzwl %di,%ecx
546567:	0f b6 7c 24 15       	movzbl 0x15(%esp),%edi
54656c:	0f b7 ff             	movzwl %di,%edi
54656f:	0f af cf             	imul   %edi,%ecx
546572:	66 03 d1             	add    %cx,%dx
546575:	66 81 c2 80 00       	add    $0x80,%dx
54657a:	0f b7 ca             	movzwl %dx,%ecx
54657d:	0f b7 d2             	movzwl %dx,%edx
546580:	c1 fa 08             	sar    $0x8,%edx
546583:	03 ca                	add    %edx,%ecx
546585:	c1 f9 08             	sar    $0x8,%ecx
546588:	88 4c 24 30          	mov    %cl,0x30(%esp)
54658c:	33 d2                	xor    %edx,%edx
54658e:	8a 54 24 30          	mov    0x30(%esp),%dl
546592:	8b 8b 28 01 00 00    	mov    0x128(%ebx),%ecx
546598:	8a 14 11             	mov    (%ecx,%edx,1),%dl
54659b:	88 50 02             	mov    %dl,0x2(%eax)
54659e:	eb 31                	jmp    0x5465d1
5465a0:	33 c9                	xor    %ecx,%ecx
5465a2:	8a 08                	mov    (%eax),%cl
5465a4:	8b 93 24 01 00 00    	mov    0x124(%ebx),%edx
5465aa:	8a 0c 0a             	mov    (%edx,%ecx,1),%cl
5465ad:	88 08                	mov    %cl,(%eax)
5465af:	33 d2                	xor    %edx,%edx
5465b1:	8a 50 01             	mov    0x1(%eax),%dl
5465b4:	8b 8b 24 01 00 00    	mov    0x124(%ebx),%ecx
5465ba:	8a 14 11             	mov    (%ecx,%edx,1),%dl
5465bd:	88 50 01             	mov    %dl,0x1(%eax)
5465c0:	33 c9                	xor    %ecx,%ecx
5465c2:	8a 48 02             	mov    0x2(%eax),%cl
5465c5:	8b 93 24 01 00 00    	mov    0x124(%ebx),%edx
5465cb:	8a 0c 0a             	mov    (%edx,%ecx,1),%cl
5465ce:	88 48 02             	mov    %cl,0x2(%eax)
5465d1:	46                   	inc    %esi
5465d2:	83 c0 03             	add    $0x3,%eax
5465d5:	8b 54 24 1c          	mov    0x1c(%esp),%edx
5465d9:	3b f2                	cmp    %edx,%esi
5465db:	0f 8c 27 fe ff ff    	jl     0x546408
5465e1:	e9 4c 05 00 00       	jmp    0x546b32
5465e6:	8a 8b e7 00 00 00    	mov    0xe7(%ebx),%cl
5465ec:	b8 01 00 00 00       	mov    $0x1,%eax
5465f1:	d3 e0                	shl    %cl,%eax
5465f3:	48                   	dec    %eax
5465f4:	33 d2                	xor    %edx,%edx
5465f6:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
5465fd:	33 c0                	xor    %eax,%eax
5465ff:	89 84 24 84 00 00 00 	mov    %eax,0x84(%esp)
546606:	33 c9                	xor    %ecx,%ecx
546608:	df ac 24 80 00 00 00 	fildll 0x80(%esp)
54660f:	dd 5c 24 34          	fstpl  0x34(%esp)
546613:	89 54 24 3c          	mov    %edx,0x3c(%esp)
546617:	c7 44 24 40 00 00 f0 	movl   $0x3ff00000,0x40(%esp)
54661e:	3f
54661f:	89 4c 24 44          	mov    %ecx,0x44(%esp)
546623:	c7 44 24 48 00 00 f0 	movl   $0x3ff00000,0x48(%esp)
54662a:	3f
54662b:	8a 83 f0 00 00 00    	mov    0xf0(%ebx),%al
546631:	fe c8                	dec    %al
546633:	74 0a                	je     0x54663f
546635:	fe c8                	dec    %al
546637:	74 20                	je     0x546659
546639:	fe c8                	dec    %al
54663b:	74 44                	je     0x546681
54663d:	eb 68                	jmp    0x5466a7
54663f:	d9 83 20 01 00 00    	flds   0x120(%ebx)
546645:	dd 5c 24 3c          	fstpl  0x3c(%esp)
546649:	33 d2                	xor    %edx,%edx
54664b:	89 54 24 44          	mov    %edx,0x44(%esp)
54664f:	c7 44 24 48 00 00 f0 	movl   $0x3ff00000,0x48(%esp)
546656:	3f
546657:	eb 4e                	jmp    0x5466a7
546659:	d9 05 10 6c 54 00    	flds   0x546c10
54665f:	d8 b3 1c 01 00 00    	fdivs  0x11c(%ebx)
546665:	dd 5c 24 3c          	fstpl  0x3c(%esp)
546669:	d9 83 1c 01 00 00    	flds   0x11c(%ebx)
54666f:	d8 8b 20 01 00 00    	fmuls  0x120(%ebx)
546675:	d8 3d 10 6c 54 00    	fdivrs 0x546c10
54667b:	dd 5c 24 44          	fstpl  0x44(%esp)
54667f:	eb 26                	jmp    0x5466a7
546681:	d9 05 10 6c 54 00    	flds   0x546c10
546687:	d8 b3 f4 00 00 00    	fdivs  0xf4(%ebx)
54668d:	dd 5c 24 3c          	fstpl  0x3c(%esp)
546691:	d9 83 f4 00 00 00    	flds   0xf4(%ebx)
546697:	d8 8b 20 01 00 00    	fmuls  0x120(%ebx)
54669d:	d8 3d 10 6c 54 00    	fdivrs 0x546c10
5466a3:	dd 5c 24 44          	fstpl  0x44(%esp)
5466a7:	ff 74 24 40          	push   0x40(%esp)
5466ab:	ff 74 24 40          	push   0x40(%esp)
5466af:	0f b7 83 00 01 00 00 	movzwl 0x100(%ebx),%eax
5466b6:	89 84 24 90 00 00 00 	mov    %eax,0x90(%esp)
5466bd:	db 84 24 90 00 00 00 	fildl  0x90(%esp)
5466c4:	dc 74 24 3c          	fdivl  0x3c(%esp)
5466c8:	83 c4 f8             	add    $0xfffffff8,%esp
5466cb:	dd 1c 24             	fstpl  (%esp)
5466ce:	e8 85 fd fd ff       	call   0x526458
5466d3:	83 c4 10             	add    $0x10,%esp
5466d6:	dc 4c 24 34          	fmull  0x34(%esp)
5466da:	d8 05 2c 6c 54 00    	fadds  0x546c2c
5466e0:	e8 33 fe fd ff       	call   0x526518
5466e5:	66 89 83 0a 01 00 00 	mov    %ax,0x10a(%ebx)
5466ec:	ff 74 24 48          	push   0x48(%esp)
5466f0:	ff 74 24 48          	push   0x48(%esp)
5466f4:	0f b7 8b 00 01 00 00 	movzwl 0x100(%ebx),%ecx
5466fb:	89 8c 24 94 00 00 00 	mov    %ecx,0x94(%esp)
546702:	db 84 24 94 00 00 00 	fildl  0x94(%esp)
546709:	dc 74 24 3c          	fdivl  0x3c(%esp)
54670d:	83 c4 f8             	add    $0xfffffff8,%esp
546710:	dd 1c 24             	fstpl  (%esp)
546713:	e8 40 fd fd ff       	call   0x526458
546718:	83 c4 10             	add    $0x10,%esp
54671b:	dc 4c 24 34          	fmull  0x34(%esp)
54671f:	d8 05 2c 6c 54 00    	fadds  0x546c2c
546725:	e8 ee fd fd ff       	call   0x526518
54672a:	66 89 83 00 01 00 00 	mov    %ax,0x100(%ebx)
546731:	66 8b b3 fa 00 00 00 	mov    0xfa(%ebx),%si
546738:	66 3b b3 fc 00 00 00 	cmp    0xfc(%ebx),%si
54673f:	75 16                	jne    0x546757
546741:	66 3b b3 fe 00 00 00 	cmp    0xfe(%ebx),%si
546748:	75 0d                	jne    0x546757
54674a:	66 3b b3 00 01 00 00 	cmp    0x100(%ebx),%si
546751:	0f 84 9f 01 00 00    	je     0x5468f6
546757:	ff 74 24 40          	push   0x40(%esp)
54675b:	ff 74 24 40          	push   0x40(%esp)
54675f:	0f b7 d6             	movzwl %si,%edx
546762:	89 94 24 98 00 00 00 	mov    %edx,0x98(%esp)
546769:	db 84 24 98 00 00 00 	fildl  0x98(%esp)
546770:	dc 74 24 3c          	fdivl  0x3c(%esp)
546774:	83 c4 f8             	add    $0xfffffff8,%esp
546777:	dd 1c 24             	fstpl  (%esp)
54677a:	e8 d9 fc fd ff       	call   0x526458
54677f:	83 c4 10             	add    $0x10,%esp
546782:	dc 4c 24 34          	fmull  0x34(%esp)
546786:	d8 05 2c 6c 54 00    	fadds  0x546c2c
54678c:	e8 87 fd fd ff       	call   0x526518
546791:	66 89 83 04 01 00 00 	mov    %ax,0x104(%ebx)
546798:	ff 74 24 40          	push   0x40(%esp)
54679c:	ff 74 24 40          	push   0x40(%esp)
5467a0:	0f b7 8b fc 00 00 00 	movzwl 0xfc(%ebx),%ecx
5467a7:	89 8c 24 9c 00 00 00 	mov    %ecx,0x9c(%esp)
5467ae:	db 84 24 9c 00 00 00 	fildl  0x9c(%esp)
5467b5:	dc 74 24 3c          	fdivl  0x3c(%esp)
5467b9:	83 c4 f8             	add    $0xfffffff8,%esp
5467bc:	dd 1c 24             	fstpl  (%esp)
5467bf:	e8 94 fc fd ff       	call   0x526458
5467c4:	83 c4 10             	add    $0x10,%esp
5467c7:	dc 4c 24 34          	fmull  0x34(%esp)
5467cb:	d8 05 2c 6c 54 00    	fadds  0x546c2c
5467d1:	e8 42 fd fd ff       	call   0x526518
5467d6:	66 89 83 06 01 00 00 	mov    %ax,0x106(%ebx)
5467dd:	ff 74 24 40          	push   0x40(%esp)
5467e1:	ff 74 24 40          	push   0x40(%esp)
5467e5:	0f b7 8b fe 00 00 00 	movzwl 0xfe(%ebx),%ecx
5467ec:	89 8c 24 a0 00 00 00 	mov    %ecx,0xa0(%esp)
5467f3:	db 84 24 a0 00 00 00 	fildl  0xa0(%esp)
5467fa:	dc 74 24 3c          	fdivl  0x3c(%esp)
5467fe:	83 c4 f8             	add    $0xfffffff8,%esp
546801:	dd 1c 24             	fstpl  (%esp)
546804:	e8 4f fc fd ff       	call   0x526458
546809:	83 c4 10             	add    $0x10,%esp
54680c:	dc 4c 24 34          	fmull  0x34(%esp)
546810:	d8 05 2c 6c 54 00    	fadds  0x546c2c
546816:	e8 fd fc fd ff       	call   0x526518
54681b:	66 89 83 08 01 00 00 	mov    %ax,0x108(%ebx)
546822:	ff 74 24 48          	push   0x48(%esp)
546826:	ff 74 24 48          	push   0x48(%esp)
54682a:	0f b7 8b fa 00 00 00 	movzwl 0xfa(%ebx),%ecx
546831:	89 8c 24 a4 00 00 00 	mov    %ecx,0xa4(%esp)
546838:	db 84 24 a4 00 00 00 	fildl  0xa4(%esp)
54683f:	dc 74 24 3c          	fdivl  0x3c(%esp)
546843:	83 c4 f8             	add    $0xfffffff8,%esp
546846:	dd 1c 24             	fstpl  (%esp)
546849:	e8 0a fc fd ff       	call   0x526458
54684e:	83 c4 10             	add    $0x10,%esp
546851:	dc 4c 24 34          	fmull  0x34(%esp)
546855:	d8 05 2c 6c 54 00    	fadds  0x546c2c
54685b:	e8 b8 fc fd ff       	call   0x526518
546860:	66 89 83 fa 00 00 00 	mov    %ax,0xfa(%ebx)
546867:	ff 74 24 48          	push   0x48(%esp)
54686b:	ff 74 24 48          	push   0x48(%esp)
54686f:	0f b7 8b fc 00 00 00 	movzwl 0xfc(%ebx),%ecx
546876:	89 8c 24 a8 00 00 00 	mov    %ecx,0xa8(%esp)
54687d:	db 84 24 a8 00 00 00 	fildl  0xa8(%esp)
546884:	dc 74 24 3c          	fdivl  0x3c(%esp)
546888:	83 c4 f8             	add    $0xfffffff8,%esp
54688b:	dd 1c 24             	fstpl  (%esp)
54688e:	e8 c5 fb fd ff       	call   0x526458
546893:	83 c4 10             	add    $0x10,%esp
546896:	dc 4c 24 34          	fmull  0x34(%esp)
54689a:	d8 05 2c 6c 54 00    	fadds  0x546c2c
5468a0:	e8 73 fc fd ff       	call   0x526518
5468a5:	66 89 83 fc 00 00 00 	mov    %ax,0xfc(%ebx)
5468ac:	ff 74 24 48          	push   0x48(%esp)
5468b0:	ff 74 24 48          	push   0x48(%esp)
5468b4:	0f b7 8b fe 00 00 00 	movzwl 0xfe(%ebx),%ecx
5468bb:	89 8c 24 ac 00 00 00 	mov    %ecx,0xac(%esp)
5468c2:	db 84 24 ac 00 00 00 	fildl  0xac(%esp)
5468c9:	dc 74 24 3c          	fdivl  0x3c(%esp)
5468cd:	83 c4 f8             	add    $0xfffffff8,%esp
5468d0:	dd 1c 24             	fstpl  (%esp)
5468d3:	e8 80 fb fd ff       	call   0x526458
5468d8:	83 c4 10             	add    $0x10,%esp
5468db:	dc 4c 24 34          	fmull  0x34(%esp)
5468df:	d8 05 2c 6c 54 00    	fadds  0x546c2c
5468e5:	e8 2e fc fd ff       	call   0x526518
5468ea:	66 89 83 fe 00 00 00 	mov    %ax,0xfe(%ebx)
5468f1:	e9 3c 02 00 00       	jmp    0x546b32
5468f6:	66 8b 93 0a 01 00 00 	mov    0x10a(%ebx),%dx
5468fd:	66 89 93 08 01 00 00 	mov    %dx,0x108(%ebx)
546904:	66 89 93 06 01 00 00 	mov    %dx,0x106(%ebx)
54690b:	66 89 93 04 01 00 00 	mov    %dx,0x104(%ebx)
546912:	66 8b 83 00 01 00 00 	mov    0x100(%ebx),%ax