664426:	e8 45 03 ed ff       	call   0x534770
66442b:	66 8b 15 70 45 66 00 	mov    0x664570,%dx
664432:	66 3b d0             	cmp    %ax,%dx
664435:	75 0e                	jne    0x664445
664437:	8b c3                	mov    %ebx,%eax
664439:	e8 9e ff ff ff       	call   0x6643dc
66443e:	8b f0                	mov    %eax,%esi
664440:	e9 06 01 00 00       	jmp    0x66454b
664445:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
66444b:	e8 20 03 ed ff       	call   0x534770
664450:	66 8b 15 74 45 66 00 	mov    0x664574,%dx
664457:	66 3b d0             	cmp    %ax,%dx
66445a:	75 0a                	jne    0x664466
66445c:	be 01 00 00 00       	mov    $0x1,%esi
664461:	e9 e5 00 00 00       	jmp    0x66454b
664466:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
66446c:	e8 ff 02 ed ff       	call   0x534770
664471:	66 8b 15 78 45 66 00 	mov    0x664578,%dx
664478:	66 3b d0             	cmp    %ax,%dx
66447b:	75 0a                	jne    0x664487
66447d:	be 02 00 00 00       	mov    $0x2,%esi
664482:	e9 c4 00 00 00       	jmp    0x66454b
664487:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
66448d:	e8 de 02 ed ff       	call   0x534770
664492:	66 8b 15 7c 45 66 00 	mov    0x66457c,%dx
664499:	66 3b d0             	cmp    %ax,%dx
66449c:	75 0a                	jne    0x6644a8
66449e:	be 03 00 00 00       	mov    $0x3,%esi
6644a3:	e9 a3 00 00 00       	jmp    0x66454b
6644a8:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
6644ae:	e8 bd 02 ed ff       	call   0x534770
6644b3:	66 8b 15 80 45 66 00 	mov    0x664580,%dx
6644ba:	66 3b d0             	cmp    %ax,%dx
6644bd:	75 39                	jne    0x6644f8
6644bf:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
6644c5:	83 ca ff             	or     $0xffffffff,%edx
6644c8:	e8 c7 a4 ec ff       	call   0x52e994
6644cd:	84 c0                	test   %al,%al
6644cf:	74 07                	je     0x6644d8
6644d1:	be 08 00 00 00       	mov    $0x8,%esi
6644d6:	eb 73                	jmp    0x66454b
6644d8:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
6644de:	83 ca ff             	or     $0xffffffff,%edx
6644e1:	e8 6e a4 ec ff       	call   0x52e954
6644e6:	3c 01                	cmp    $0x1,%al
6644e8:	75 07                	jne    0x6644f1
6644ea:	be 04 00 00 00       	mov    $0x4,%esi
6644ef:	eb 5a                	jmp    0x66454b
6644f1:	be 05 00 00 00       	mov    $0x5,%esi
6644f6:	eb 53                	jmp    0x66454b
6644f8:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
6644fe:	e8 6d 02 ed ff       	call   0x534770
664503:	66 8b 15 84 45 66 00 	mov    0x664584,%dx
66450a:	66 3b d0             	cmp    %ax,%dx
66450d:	75 20                	jne    0x66452f
66450f:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
664515:	83 ca ff             	or     $0xffffffff,%edx
664518:	e8 37 a4 ec ff       	call   0x52e954
66451d:	3c 01                	cmp    $0x1,%al
66451f:	75 07                	jne    0x664528
664521:	be 06 00 00 00       	mov    $0x6,%esi
664526:	eb 23                	jmp    0x66454b
664528:	be 07 00 00 00       	mov    $0x7,%esi
66452d:	eb 1c                	jmp    0x66454b
66452f:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
664535:	e8 36 02 ed ff       	call   0x534770
66453a:	66 8b 15 88 45 66 00 	mov    0x664588,%dx
664541:	66 3b d0             	cmp    %ax,%dx
664544:	75 05                	jne    0x66454b
664546:	be 09 00 00 00       	mov    $0x9,%esi
66454b:	8b d6                	mov    %esi,%edx
66454d:	8b c3                	mov    %ebx,%eax
66454f:	e8 38 fc ff ff       	call   0x66418c
664554:	33 c0                	xor    %eax,%eax
664556:	5a                   	pop    %edx
664557:	59                   	pop    %ecx
664558:	59                   	pop    %ecx
664559:	64 89 10             	mov    %edx,%fs:(%eax)
66455c:	eb 0a                	jmp    0x664568
66455e:	e9 f5 f9 d9 ff       	jmp    0x403f58
664563:	e8 58 fd d9 ff       	call   0x4042c0
664568:	5f                   	pop    %edi
664569:	5e                   	pop    %esi
66456a:	5b                   	pop    %ebx
66456b:	5d                   	pop    %ebp
66456c:	c3                   	ret
66456d:	00 00                	add    %al,(%eax)
66456f:	00 80 00 00 00 00    	add    %al,0x0(%eax)
664575:	10 00                	adc    %al,(%eax)
664577:	00 00                	add    %al,(%eax)
664579:	04 00                	add    $0x0,%al
66457b:	00 04 00             	add    %al,(%eax,%eax,1)
66457e:	00 00                	add    %al,(%eax)
664580:	08 00                	or     %al,(%eax)
664582:	00 00                	add    %al,(%eax)
664584:	10 00                	adc    %al,(%eax)
664586:	00 00                	add    %al,(%eax)
664588:	20 00                	and    %al,(%eax)
66458a:	00 00                	add    %al,(%eax)
66458c:	55                   	push   %ebp
66458d:	8b ec                	mov    %esp,%ebp
66458f:	b9 07 00 00 00       	mov    $0x7,%ecx
664594:	6a 00                	push   $0x0
664596:	6a 00                	push   $0x0
664598:	49                   	dec    %ecx
664599:	75 f9                	jne    0x664594
66459b:	53                   	push   %ebx
66459c:	56                   	push   %esi
66459d:	57                   	push   %edi
66459e:	8b fa                	mov    %edx,%edi
6645a0:	89 45 fc             	mov    %eax,-0x4(%ebp)
6645a3:	33 c0                	xor    %eax,%eax
6645a5:	55                   	push   %ebp
6645a6:	68 9f 53 66 00       	push   $0x66539f
6645ab:	64 ff 30             	push   %fs:(%eax)
6645ae:	64 89 20             	mov    %esp,%fs:(%eax)
6645b1:	33 c0                	xor    %eax,%eax
6645b3:	55                   	push   %ebp
6645b4:	68 7d 53 66 00       	push   $0x66537d
6645b9:	64 ff 30             	push   %fs:(%eax)
6645bc:	64 89 20             	mov    %esp,%fs:(%eax)
6645bf:	8b 45 fc             	mov    -0x4(%ebp),%eax
6645c2:	c6 80 bc 04 00 00 01 	movb   $0x1,0x4bc(%eax)
6645c9:	8b 45 fc             	mov    -0x4(%ebp),%eax
6645cc:	e8 0b fe ff ff       	call   0x6643dc
6645d1:	8b f0                	mov    %eax,%esi
6645d3:	8b 45 fc             	mov    -0x4(%ebp),%eax
6645d6:	e8 e1 fd ff ff       	call   0x6643bc
6645db:	8b d8                	mov    %eax,%ebx
6645dd:	83 ff 01             	cmp    $0x1,%edi
6645e0:	0f 85 f8 01 00 00    	jne    0x6647de
6645e6:	83 fe 01             	cmp    $0x1,%esi
6645e9:	0f 85 ef 01 00 00    	jne    0x6647de
6645ef:	8b 45 fc             	mov    -0x4(%ebp),%eax
6645f2:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6645f8:	8b d3                	mov    %ebx,%edx
6645fa:	e8 55 a3 ec ff       	call   0x52e954
6645ff:	84 c0                	test   %al,%al
664601:	0f 94 c2             	sete   %dl
664604:	8b 45 fc             	mov    -0x4(%ebp),%eax
664607:	8b 80 58 03 00 00    	mov    0x358(%eax),%eax
66460d:	8b 08                	mov    (%eax),%ecx
66460f:	ff 91 c8 00 00 00    	call   *0xc8(%ecx)
664615:	8b 45 fc             	mov    -0x4(%ebp),%eax
664618:	e8 2b 39 00 00       	call   0x667f48
66461d:	8b 45 fc             	mov    -0x4(%ebp),%eax
664620:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
664626:	8b d3                	mov    %ebx,%edx
664628:	e8 0f a1 ec ff       	call   0x52e73c
66462d:	8b d0                	mov    %eax,%edx
66462f:	8b 45 fc             	mov    -0x4(%ebp),%eax
664632:	8b 80 5c 03 00 00    	mov    0x35c(%eax),%eax
664638:	e8 2f 43 de ff       	call   0x44896c
66463d:	8b 45 fc             	mov    -0x4(%ebp),%eax
664640:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
664646:	8b d3                	mov    %ebx,%edx
664648:	e8 c7 a2 ec ff       	call   0x52e914
66464d:	8b d0                	mov    %eax,%edx
66464f:	8b 45 fc             	mov    -0x4(%ebp),%eax
664652:	8b 80 60 03 00 00    	mov    0x360(%eax),%eax
664658:	e8 0f 43 de ff       	call   0x44896c
66465d:	8b 45 fc             	mov    -0x4(%ebp),%eax
664660:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
664666:	8b d3                	mov    %ebx,%edx
664668:	e8 67 a2 ec ff       	call   0x52e8d4
66466d:	8b d0                	mov    %eax,%edx
66466f:	8b 45 fc             	mov    -0x4(%ebp),%eax
664672:	8b 80 64 03 00 00    	mov    0x364(%eax),%eax
664678:	e8 67 82 fb ff       	call   0x61c8e4
66467d:	8b 45 fc             	mov    -0x4(%ebp),%eax
664680:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
664686:	8b d3                	mov    %ebx,%edx
664688:	e8 97 a0 ec ff       	call   0x52e724
66468d:	89 45 f8             	mov    %eax,-0x8(%ebp)
664690:	db 45 f8             	fildl  -0x8(%ebp)
664693:	d8 0d b0 53 66 00    	fmuls  0x6653b0
664699:	d8 35 b4 53 66 00    	fdivs  0x6653b4
66469f:	d8 0d b8 53 66 00    	fmuls  0x6653b8
6646a5:	e8 16 e6 d9 ff       	call   0x402cc0
6646aa:	8b d0                	mov    %eax,%edx
6646ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
6646af:	8b 80 70 03 00 00    	mov    0x370(%eax),%eax
6646b5:	e8 82 14 e4 ff       	call   0x4a5b3c
6646ba:	8d 55 f4             	lea    -0xc(%ebp),%edx
6646bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
6646c0:	8b 80 70 03 00 00    	mov    0x370(%eax),%eax
6646c6:	8b 80 28 02 00 00    	mov    0x228(%eax),%eax
6646cc:	e8 f3 4e da ff       	call   0x4095c4
6646d1:	8b 55 f4             	mov    -0xc(%ebp),%edx
6646d4:	8b 45 fc             	mov    -0x4(%ebp),%eax
6646d7:	8b 80 70 03 00 00    	mov    0x370(%eax),%eax
6646dd:	05 80 00 00 00       	add    $0x80,%eax
6646e2:	e8 d5 01 da ff       	call   0x4048bc
6646e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
6646ea:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6646f0:	8b d3                	mov    %ebx,%edx
6646f2:	e8 ed 9f ec ff       	call   0x52e6e4
6646f7:	8a 50 04             	mov    0x4(%eax),%dl
6646fa:	8b 45 fc             	mov    -0x4(%ebp),%eax
6646fd:	8b 80 74 03 00 00    	mov    0x374(%eax),%eax
664703:	8b 08                	mov    (%eax),%ecx
664705:	ff 91 c8 00 00 00    	call   *0xc8(%ecx)
66470b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
66470e:	8b 45 fc             	mov    -0x4(%ebp),%eax
664711:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
664717:	8b d3                	mov    %ebx,%edx
664719:	e8 fe a3 ec ff       	call   0x52eb1c
66471e:	8b 45 f0             	mov    -0x10(%ebp),%eax
664721:	ba c4 53 66 00       	mov    $0x6653c4,%edx
664726:	e8 39 05 da ff       	call   0x404c64
66472b:	0f 94 c2             	sete   %dl
66472e:	8b 45 fc             	mov    -0x4(%ebp),%eax
664731:	8b 80 68 03 00 00    	mov    0x368(%eax),%eax
664737:	8b 08                	mov    (%eax),%ecx
664739:	ff 91 c8 00 00 00    	call   *0xc8(%ecx)
66473f:	8b 45 fc             	mov    -0x4(%ebp),%eax
664742:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
664748:	8b d3                	mov    %ebx,%edx
66474a:	e8 b1 f6 ec ff       	call   0x533e00
66474f:	8b d0                	mov    %eax,%edx
664751:	8b 45 fc             	mov    -0x4(%ebp),%eax
664754:	8b 80 6c 03 00 00    	mov    0x36c(%eax),%eax
66475a:	e8 85 81 fb ff       	call   0x61c8e4
66475f:	8b 45 fc             	mov    -0x4(%ebp),%eax
664762:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
664768:	8b d3                	mov    %ebx,%edx
66476a:	e8 75 9f ec ff       	call   0x52e6e4
66476f:	8b 40 10             	mov    0x10(%eax),%eax
664772:	8b 55 fc             	mov    -0x4(%ebp),%edx
664775:	89 82 f0 04 00 00    	mov    %eax,0x4f0(%edx)
66477b:	8b 45 fc             	mov    -0x4(%ebp),%eax
66477e:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
664784:	8b d3                	mov    %ebx,%edx
664786:	e8 59 9f ec ff       	call   0x52e6e4
66478b:	8b 40 14             	mov    0x14(%eax),%eax
66478e:	8b 55 fc             	mov    -0x4(%ebp),%edx
664791:	89 82 f4 04 00 00    	mov    %eax,0x4f4(%edx)
664797:	8b 45 fc             	mov    -0x4(%ebp),%eax
66479a:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6647a0:	8b d3                	mov    %ebx,%edx
6647a2:	e8 3d 9f ec ff       	call   0x52e6e4
6647a7:	dd 40 08             	fldl   0x8(%eax)
6647aa:	e8 11 e5 d9 ff       	call   0x402cc0
6647af:	8b 55 fc             	mov    -0x4(%ebp),%edx
6647b2:	89 82 ec 04 00 00    	mov    %eax,0x4ec(%edx)
6647b8:	8b 45 fc             	mov    -0x4(%ebp),%eax
6647bb:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6647c1:	8b d3                	mov    %ebx,%edx
6647c3:	e8 1c 9f ec ff       	call   0x52e6e4
6647c8:	db 40 18             	fildl  0x18(%eax)
6647cb:	e8 f0 e4 d9 ff       	call   0x402cc0
6647d0:	8b 55 fc             	mov    -0x4(%ebp),%edx
6647d3:	89 82 f8 04 00 00    	mov    %eax,0x4f8(%edx)
6647d9:	e9 87 0b 00 00       	jmp    0x665365
6647de:	83 ff 02             	cmp    $0x2,%edi
6647e1:	0f 85 56 01 00 00    	jne    0x66493d
6647e7:	83 fe 02             	cmp    $0x2,%esi
6647ea:	0f 85 4d 01 00 00    	jne    0x66493d
6647f0:	8b 45 fc             	mov    -0x4(%ebp),%eax
6647f3:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6647f9:	8b d3                	mov    %ebx,%edx
6647fb:	e8 60 9e ec ff       	call   0x52e660
664800:	8b d0                	mov    %eax,%edx
664802:	8b 45 fc             	mov    -0x4(%ebp),%eax
664805:	8b 80 90 03 00 00    	mov    0x390(%eax),%eax
66480b:	e8 5c 41 de ff       	call   0x44896c
664810:	8b 45 fc             	mov    -0x4(%ebp),%eax
664813:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
664819:	8b d3                	mov    %ebx,%edx
66481b:	e8 b4 a0 ec ff       	call   0x52e8d4
664820:	8b d0                	mov    %eax,%edx
664822:	8b 45 fc             	mov    -0x4(%ebp),%eax
664825:	8b 80 8c 03 00 00    	mov    0x38c(%eax),%eax
66482b:	e8 b4 80 fb ff       	call   0x61c8e4
664830:	8b 45 fc             	mov    -0x4(%ebp),%eax
664833:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
664839:	8b d3                	mov    %ebx,%edx
66483b:	e8 e4 9e ec ff       	call   0x52e724
664840:	89 45 f8             	mov    %eax,-0x8(%ebp)
664843:	db 45 f8             	fildl  -0x8(%ebp)
664846:	d8 0d b0 53 66 00    	fmuls  0x6653b0
66484c:	d8 35 b4 53 66 00    	fdivs  0x6653b4
664852:	d8 0d b8 53 66 00    	fmuls  0x6653b8
664858:	e8 63 e4 d9 ff       	call   0x402cc0
66485d:	8b d0                	mov    %eax,%edx
66485f:	8b 45 fc             	mov    -0x4(%ebp),%eax
664862:	8b 80 94 03 00 00    	mov    0x394(%eax),%eax
664868:	e8 cf 12 e4 ff       	call   0x4a5b3c
66486d:	8d 55 ec             	lea    -0x14(%ebp),%edx
664870:	8b 45 fc             	mov    -0x4(%ebp),%eax
664873:	8b 80 94 03 00 00    	mov    0x394(%eax),%eax
664879:	8b 80 28 02 00 00    	mov    0x228(%eax),%eax
66487f:	e8 40 4d da ff       	call   0x4095c4
664884:	8b 55 ec             	mov    -0x14(%ebp),%edx
664887:	8b 45 fc             	mov    -0x4(%ebp),%eax
66488a:	8b 80 94 03 00 00    	mov    0x394(%eax),%eax
664890:	05 80 00 00 00       	add    $0x80,%eax
664895:	e8 22 00 da ff       	call   0x4048bc
66489a:	8b 45 fc             	mov    -0x4(%ebp),%eax
66489d:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6648a3:	8b d3                	mov    %ebx,%edx
6648a5:	e8 3a 9e ec ff       	call   0x52e6e4
6648aa:	8a 50 04             	mov    0x4(%eax),%dl
6648ad:	8b 45 fc             	mov    -0x4(%ebp),%eax
6648b0:	8b 80 9c 03 00 00    	mov    0x39c(%eax),%eax
6648b6:	8b 08                	mov    (%eax),%ecx
6648b8:	ff 91 c8 00 00 00    	call   *0xc8(%ecx)
6648be:	8b 45 fc             	mov    -0x4(%ebp),%eax
6648c1:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6648c7:	8b d3                	mov    %ebx,%edx
6648c9:	e8 16 9e ec ff       	call   0x52e6e4
6648ce:	8b 40 10             	mov    0x10(%eax),%eax
6648d1:	8b 55 fc             	mov    -0x4(%ebp),%edx
6648d4:	89 82 00 05 00 00    	mov    %eax,0x500(%edx)
6648da:	8b 45 fc             	mov    -0x4(%ebp),%eax
6648dd:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6648e3:	8b d3                	mov    %ebx,%edx
6648e5:	e8 fa 9d ec ff       	call   0x52e6e4
6648ea:	8b 40 14             	mov    0x14(%eax),%eax
6648ed:	8b 55 fc             	mov    -0x4(%ebp),%edx
6648f0:	89 82 04 05 00 00    	mov    %eax,0x504(%edx)
6648f6:	8b 45 fc             	mov    -0x4(%ebp),%eax
6648f9:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6648ff:	8b d3                	mov    %ebx,%edx
664901:	e8 de 9d ec ff       	call   0x52e6e4
664906:	dd 40 08             	fldl   0x8(%eax)
664909:	e8 b2 e3 d9 ff       	call   0x402cc0
66490e:	8b 55 fc             	mov    -0x4(%ebp),%edx
664911:	89 82 fc 04 00 00    	mov    %eax,0x4fc(%edx)
664917:	8b 45 fc             	mov    -0x4(%ebp),%eax
66491a:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
664920:	8b d3                	mov    %ebx,%edx
664922:	e8 bd 9d ec ff       	call   0x52e6e4
664927:	db 40 18             	fildl  0x18(%eax)
66492a:	e8 91 e3 d9 ff       	call   0x402cc0
66492f:	8b 55 fc             	mov    -0x4(%ebp),%edx
664932:	89 82 08 05 00 00    	mov    %eax,0x508(%edx)
664938:	e9 28 0a 00 00       	jmp    0x665365
66493d:	83 ff 03             	cmp    $0x3,%edi
664940:	0f 85 7c 01 00 00    	jne    0x664ac2
664946:	83 fe 03             	cmp    $0x3,%esi
664949:	0f 85 73 01 00 00    	jne    0x664ac2
66494f:	8b 45 fc             	mov    -0x4(%ebp),%eax
664952:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
664958:	8b d3                	mov    %ebx,%edx
66495a:	e8 01 9d ec ff       	call   0x52e660
66495f:	8b d0                	mov    %eax,%edx
664961:	8b 45 fc             	mov    -0x4(%ebp),%eax
664964:	8b 80 b0 03 00 00    	mov    0x3b0(%eax),%eax
66496a:	e8 fd 3f de ff       	call   0x44896c