46c528:	33 c9                	xor    %ecx,%ecx
46c52a:	85 c0                	test   %eax,%eax
46c52c:	0f 95 c1             	setne  %cl
46c52f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46c532:	85 c0                	test   %eax,%eax
46c534:	74 15                	je     0x46c54b
46c536:	ff 15 44 7d 4a 00    	call   *0x4a7d44
46c53c:	50                   	push   %eax
46c53d:	ff 15 ec 76 4a 00    	call   *0x4a76ec
46c543:	3b 86 a8 02 00 00    	cmp    0x2a8(%esi),%eax
46c549:	eb 13                	jmp    0x46c55e
46c54b:	ff 15 44 7d 4a 00    	call   *0x4a7d44
46c551:	50                   	push   %eax
46c552:	ff 15 ec 76 4a 00    	call   *0x4a76ec
46c558:	3b 86 ac 02 00 00    	cmp    0x2ac(%esi),%eax
46c55e:	75 20                	jne    0x46c580
46c560:	8b be 7c 02 00 00    	mov    0x27c(%esi),%edi
46c566:	85 ff                	test   %edi,%edi
46c568:	74 16                	je     0x46c580
46c56a:	ff 75 fc             	push   -0x4(%ebp)
46c56d:	8b 07                	mov    (%edi),%eax
46c56f:	8b 70 04             	mov    0x4(%eax),%esi
46c572:	8b ce                	mov    %esi,%ecx
46c574:	ff 15 2c 81 4a 00    	call   *0x4a812c
46c57a:	8b cf                	mov    %edi,%ecx
46c57c:	ff d6                	call   *%esi
46c57e:	8a d8                	mov    %al,%bl
46c580:	5f                   	pop    %edi
46c581:	5e                   	pop    %esi
46c582:	8a c3                	mov    %bl,%al
46c584:	5b                   	pop    %ebx
46c585:	c9                   	leave
46c586:	c2 08 00             	ret    $0x8
46c589:	cc                   	int3
46c58a:	cc                   	int3
46c58b:	cc                   	int3
46c58c:	cc                   	int3
46c58d:	cc                   	int3
46c58e:	cc                   	int3
46c58f:	cc                   	int3
46c590:	8b ff                	mov    %edi,%edi
46c592:	55                   	push   %ebp
46c593:	8b ec                	mov    %esp,%ebp
46c595:	83 ec 24             	sub    $0x24,%esp
46c598:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
46c59d:	33 c5                	xor    %ebp,%eax
46c59f:	89 45 fc             	mov    %eax,-0x4(%ebp)
46c5a2:	53                   	push   %ebx
46c5a3:	8b d9                	mov    %ecx,%ebx
46c5a5:	8b 83 80 02 00 00    	mov    0x280(%ebx),%eax
46c5ab:	85 c0                	test   %eax,%eax
46c5ad:	74 58                	je     0x46c607
46c5af:	56                   	push   %esi
46c5b0:	57                   	push   %edi
46c5b1:	be 94 f7 40 00       	mov    $0x40f794,%esi
46c5b6:	8d 7d dc             	lea    -0x24(%ebp),%edi
46c5b9:	6a 02                	push   $0x2
46c5bb:	8d 4d dc             	lea    -0x24(%ebp),%ecx
46c5be:	51                   	push   %ecx
46c5bf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c5c0:	6a 00                	push   $0x0
46c5c2:	6a fc                	push   $0xfffffffc
46c5c4:	ff b3 4c 02 00 00    	push   0x24c(%ebx)
46c5ca:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c5cb:	50                   	push   %eax
46c5cc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c5cd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c5ce:	be 70 f7 40 00       	mov    $0x40f770,%esi
46c5d3:	8d 7d ec             	lea    -0x14(%ebp),%edi
46c5d6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c5d7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c5d8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c5d9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c5da:	8b 30                	mov    (%eax),%esi
46c5dc:	8b 4e 24             	mov    0x24(%esi),%ecx
46c5df:	ff 15 2c 81 4a 00    	call   *0x4a812c
46c5e5:	ff 56 24             	call   *0x24(%esi)
46c5e8:	8b 83 80 02 00 00    	mov    0x280(%ebx),%eax
46c5ee:	50                   	push   %eax
46c5ef:	8b 10                	mov    (%eax),%edx
46c5f1:	8b 72 08             	mov    0x8(%edx),%esi
46c5f4:	8b ce                	mov    %esi,%ecx
46c5f6:	ff 15 2c 81 4a 00    	call   *0x4a812c
46c5fc:	ff d6                	call   *%esi
46c5fe:	83 a3 80 02 00 00 00 	andl   $0x0,0x280(%ebx)
46c605:	5f                   	pop    %edi
46c606:	5e                   	pop    %esi
46c607:	8b cb                	mov    %ebx,%ecx
46c609:	ff 15 48 73 4a 00    	call   *0x4a7348
46c60f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46c612:	33 cd                	xor    %ebp,%ecx
46c614:	5b                   	pop    %ebx
46c615:	e8 e6 38 02 00       	call   0x48ff00
46c61a:	c9                   	leave
46c61b:	c3                   	ret
46c61c:	6a 28                	push   $0x28
46c61e:	b8 a5 55 49 00       	mov    $0x4955a5,%eax
46c623:	e8 de 3e 02 00       	call   0x490506
46c628:	8b d9                	mov    %ecx,%ebx
46c62a:	89 5d cc             	mov    %ebx,-0x34(%ebp)
46c62d:	8b 83 80 02 00 00    	mov    0x280(%ebx),%eax
46c633:	85 c0                	test   %eax,%eax
46c635:	0f 84 90 01 00 00    	je     0x46c7cb
46c63b:	be 94 f7 40 00       	mov    $0x40f794,%esi
46c640:	8d 7d e0             	lea    -0x20(%ebp),%edi
46c643:	6a 01                	push   $0x1
46c645:	8d 4d e0             	lea    -0x20(%ebp),%ecx
46c648:	51                   	push   %ecx
46c649:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c64a:	6a 00                	push   $0x0
46c64c:	6a fc                	push   $0xfffffffc
46c64e:	ff b3 4c 02 00 00    	push   0x24c(%ebx)
46c654:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c655:	50                   	push   %eax
46c656:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c657:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c658:	8b 30                	mov    (%eax),%esi
46c65a:	8b 4e 24             	mov    0x24(%esi),%ecx
46c65d:	ff 15 2c 81 4a 00    	call   *0x4a812c
46c663:	ff 56 24             	call   *0x24(%esi)
46c666:	68 d0 32 41 00       	push   $0x4132d0
46c66b:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46c66e:	ff 15 48 74 4a 00    	call   *0x4a7448
46c674:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46c678:	8b cb                	mov    %ebx,%ecx
46c67a:	e8 c1 ee ff ff       	call   0x46b540
46c67f:	84 c0                	test   %al,%al
46c681:	0f 84 a0 00 00 00    	je     0x46c727
46c687:	33 c9                	xor    %ecx,%ecx
46c689:	8b bb 88 02 00 00    	mov    0x288(%ebx),%edi
46c68f:	89 4d dc             	mov    %ecx,-0x24(%ebp)
46c692:	85 ff                	test   %edi,%edi
46c694:	0f 84 f5 00 00 00    	je     0x46c78f
46c69a:	8b 83 8c 02 00 00    	mov    0x28c(%ebx),%eax
46c6a0:	2b c7                	sub    %edi,%eax
46c6a2:	c1 f8 03             	sar    $0x3,%eax
46c6a5:	3b c8                	cmp    %eax,%ecx
46c6a7:	0f 83 e2 00 00 00    	jae    0x46c78f
46c6ad:	dd 04 cf             	fldl   (%edi,%ecx,8)
46c6b0:	51                   	push   %ecx
46c6b1:	51                   	push   %ecx
46c6b2:	8b cb                	mov    %ebx,%ecx
46c6b4:	dd 1c 24             	fstpl  (%esp)
46c6b7:	e8 28 f9 ff ff       	call   0x46bfe4
46c6bc:	8b f0                	mov    %eax,%esi
46c6be:	8b 45 dc             	mov    -0x24(%ebp),%eax
46c6c1:	51                   	push   %ecx
46c6c2:	51                   	push   %ecx
46c6c3:	8b cb                	mov    %ebx,%ecx
46c6c5:	dd 04 c7             	fldl   (%edi,%eax,8)
46c6c8:	8d 45 d8             	lea    -0x28(%ebp),%eax
46c6cb:	dd 1c 24             	fstpl  (%esp)
46c6ce:	50                   	push   %eax
46c6cf:	e8 fd 00 00 00       	call   0x46c7d1
46c6d4:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46c6d7:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46c6db:	ff 15 20 74 4a 00    	call   *0x4a7420
46c6e1:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46c6e5:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c6e8:	ff 75 d8             	push   -0x28(%ebp)
46c6eb:	56                   	push   %esi
46c6ec:	68 dc 32 41 00       	push   $0x4132dc
46c6f1:	50                   	push   %eax
46c6f2:	ff 15 c0 75 4a 00    	call   *0x4a75c0
46c6f8:	83 c4 10             	add    $0x10,%esp
46c6fb:	8d 45 d0             	lea    -0x30(%ebp),%eax
46c6fe:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46c701:	50                   	push   %eax
46c702:	ff 15 b8 78 4a 00    	call   *0x4a78b8
46c708:	8d 4d d0             	lea    -0x30(%ebp),%ecx
46c70b:	ff 15 1c 74 4a 00    	call   *0x4a741c
46c711:	8d 4d d8             	lea    -0x28(%ebp),%ecx
46c714:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
46c718:	ff 15 1c 74 4a 00    	call   *0x4a741c
46c71e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
46c721:	41                   	inc    %ecx
46c722:	e9 62 ff ff ff       	jmp    0x46c689
46c727:	33 ff                	xor    %edi,%edi
46c729:	57                   	push   %edi
46c72a:	8b cb                	mov    %ebx,%ecx
46c72c:	e8 65 f8 ff ff       	call   0x46bf96
46c731:	51                   	push   %ecx
46c732:	51                   	push   %ecx
46c733:	8d 45 d8             	lea    -0x28(%ebp),%eax
46c736:	dd 1c 24             	fstpl  (%esp)
46c739:	50                   	push   %eax
46c73a:	e8 92 00 00 00       	call   0x46c7d1
46c73f:	8d 4d dc             	lea    -0x24(%ebp),%ecx
46c742:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
46c746:	ff 15 20 74 4a 00    	call   *0x4a7420
46c74c:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
46c750:	8d 45 dc             	lea    -0x24(%ebp),%eax
46c753:	ff 75 d8             	push   -0x28(%ebp)
46c756:	57                   	push   %edi
46c757:	68 dc 32 41 00       	push   $0x4132dc
46c75c:	50                   	push   %eax
46c75d:	ff 15 c0 75 4a 00    	call   *0x4a75c0
46c763:	83 c4 10             	add    $0x10,%esp
46c766:	8d 45 dc             	lea    -0x24(%ebp),%eax
46c769:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46c76c:	50                   	push   %eax
46c76d:	ff 15 b8 78 4a 00    	call   *0x4a78b8
46c773:	8d 4d dc             	lea    -0x24(%ebp),%ecx
46c776:	ff 15 1c 74 4a 00    	call   *0x4a741c
46c77c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
46c77f:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
46c783:	ff 15 1c 74 4a 00    	call   *0x4a741c
46c789:	47                   	inc    %edi
46c78a:	83 ff 64             	cmp    $0x64,%edi
46c78d:	7e 9a                	jle    0x46c729
46c78f:	ff 75 d4             	push   -0x2c(%ebp)
46c792:	8b 83 80 02 00 00    	mov    0x280(%ebx),%eax
46c798:	be 94 f7 40 00       	mov    $0x40f794,%esi
46c79d:	8b 4d cc             	mov    -0x34(%ebp),%ecx
46c7a0:	83 ec 10             	sub    $0x10,%esp
46c7a3:	8b fc                	mov    %esp,%edi
46c7a5:	8b 18                	mov    (%eax),%ebx
46c7a7:	6a 00                	push   $0x0
46c7a9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c7aa:	6a fc                	push   $0xfffffffc
46c7ac:	ff b1 4c 02 00 00    	push   0x24c(%ecx)
46c7b2:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
46c7b5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c7b6:	50                   	push   %eax
46c7b7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c7b8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
46c7b9:	ff 15 2c 81 4a 00    	call   *0x4a812c
46c7bf:	ff 53 1c             	call   *0x1c(%ebx)
46c7c2:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
46c7c5:	ff 15 1c 74 4a 00    	call   *0x4a741c
46c7cb:	e8 e5 3c 02 00       	call   0x4904b5
46c7d0:	c3                   	ret
46c7d1:	6a 68                	push   $0x68
46c7d3:	b8 f6 55 49 00       	mov    $0x4955f6,%eax
46c7d8:	e8 29 3d 02 00       	call   0x490506
46c7dd:	8b f1                	mov    %ecx,%esi
46c7df:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46c7e3:	8b 7d 08             	mov    0x8(%ebp),%edi
46c7e6:	dd 45 0c             	fldl   0xc(%ebp)
46c7e9:	89 7d 94             	mov    %edi,-0x6c(%ebp)
46c7ec:	83 65 9c 00          	andl   $0x0,-0x64(%ebp)
46c7f0:	dc 0d 98 42 41 00    	fmull  0x414298
46c7f6:	e8 45 ed ff ff       	call   0x46b540
46c7fb:	84 c0                	test   %al,%al
46c7fd:	75 11                	jne    0x46c810
46c7ff:	dc 05 88 41 41 00    	faddl  0x414188
46c805:	e8 17 48 02 00       	call   0x491021
46c80a:	89 45 a0             	mov    %eax,-0x60(%ebp)
46c80d:	db 45 a0             	fildl  -0x60(%ebp)
46c810:	d9 c0                	fld    %st(0)
46c812:	e8 0a 48 02 00       	call   0x491021
46c817:	89 45 a0             	mov    %eax,-0x60(%ebp)
46c81a:	db 45 a0             	fildl  -0x60(%ebp)
46c81d:	dd 5d 8c             	fstpl  -0x74(%ebp)
46c820:	dd 45 8c             	fldl   -0x74(%ebp)
46c823:	dd e9                	fucomp %st(1)
46c825:	df e0                	fnstsw %ax
46c827:	f6 c4 44             	test   $0x44,%ah
46c82a:	7b 04                	jnp    0x46c830
46c82c:	b3 01                	mov    $0x1,%bl
46c82e:	eb 02                	jmp    0x46c832
46c830:	32 db                	xor    %bl,%bl
46c832:	51                   	push   %ecx
46c833:	51                   	push   %ecx
46c834:	dd 1c 24             	fstpl  (%esp)
46c837:	0f b6 c3             	movzbl %bl,%eax
46c83a:	50                   	push   %eax
46c83b:	68 ec 32 41 00       	push   $0x4132ec
46c840:	8d 45 a4             	lea    -0x5c(%ebp),%eax
46c843:	6a 14                	push   $0x14
46c845:	50                   	push   %eax
46c846:	ff 15 d8 80 4a 00    	call   *0x4a80d8
46c84c:	83 c4 18             	add    $0x18,%esp
46c84f:	8d 4d a0             	lea    -0x60(%ebp),%ecx
46c852:	ff 15 20 74 4a 00    	call   *0x4a7420
46c858:	6a 18                	push   $0x18
46c85a:	6a 18                	push   $0x18
46c85c:	8d 4d a0             	lea    -0x60(%ebp),%ecx
46c85f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46c866:	ff 15 10 76 4a 00    	call   *0x4a7610
46c86c:	50                   	push   %eax
46c86d:	33 c9                	xor    %ecx,%ecx
46c86f:	8d 45 a4             	lea    -0x5c(%ebp),%eax
46c872:	51                   	push   %ecx
46c873:	50                   	push   %eax
46c874:	51                   	push   %ecx
46c875:	51                   	push   %ecx
46c876:	ff 15 dc 7e 4a 00    	call   *0x4a7edc
46c87c:	85 c0                	test   %eax,%eax
46c87e:	7f 0d                	jg     0x46c88d
46c880:	8d 45 a4             	lea    -0x5c(%ebp),%eax
46c883:	50                   	push   %eax
46c884:	8d 4d a0             	lea    -0x60(%ebp),%ecx
46c887:	ff 15 64 75 4a 00    	call   *0x4a7564
46c88d:	84 db                	test   %bl,%bl
46c88f:	75 2c                	jne    0x46c8bd
46c891:	6a 08                	push   $0x8
46c893:	8d 45 dc             	lea    -0x24(%ebp),%eax
46c896:	50                   	push   %eax
46c897:	6a 0e                	push   $0xe
46c899:	6a 00                	push   $0x0
46c89b:	ff 15 d4 7e 4a 00    	call   *0x4a7ed4
46c8a1:	ff 75 dc             	push   -0x24(%ebp)
46c8a4:	8d 4d a0             	lea    -0x60(%ebp),%ecx
46c8a7:	ff 15 b4 75 4a 00    	call   *0x4a75b4
46c8ad:	85 c0                	test   %eax,%eax
46c8af:	7e 0c                	jle    0x46c8bd
46c8b1:	6a 00                	push   $0x0
46c8b3:	50                   	push   %eax
46c8b4:	8d 4d a0             	lea    -0x60(%ebp),%ecx
46c8b7:	ff 15 4c 73 4a 00    	call   *0x4a734c
46c8bd:	8b cf                	mov    %edi,%ecx
46c8bf:	ff 15 20 74 4a 00    	call   *0x4a7420
46c8c5:	8b 9e 7c 02 00 00    	mov    0x27c(%esi),%ebx
46c8cb:	c7 45 9c 01 00 00 00 	movl   $0x1,-0x64(%ebp)
46c8d2:	85 db                	test   %ebx,%ebx
46c8d4:	74 35                	je     0x46c90b
46c8d6:	8b 03                	mov    (%ebx),%eax
46c8d8:	8d 4d 98             	lea    -0x68(%ebp),%ecx
46c8db:	6a 02                	push   $0x2
46c8dd:	51                   	push   %ecx
46c8de:	8b 70 08             	mov    0x8(%eax),%esi
46c8e1:	8b ce                	mov    %esi,%ecx
46c8e3:	ff 15 2c 81 4a 00    	call   *0x4a812c
46c8e9:	8b cb                	mov    %ebx,%ecx
46c8eb:	ff d6                	call   *%esi
46c8ed:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46c8f1:	ff 75 a0             	push   -0x60(%ebp)
46c8f4:	ff 30                	push   (%eax)
46c8f6:	57                   	push   %edi
46c8f7:	ff 15 c0 75 4a 00    	call   *0x4a75c0
46c8fd:	83 c4 0c             	add    $0xc,%esp
46c900:	8d 4d 98             	lea    -0x68(%ebp),%ecx
46c903:	ff 15 1c 74 4a 00    	call   *0x4a741c
46c909:	eb 4f                	jmp    0x46c95a
46c90b:	6a 08                	push   $0x8
46c90d:	8d 45 cc             	lea    -0x34(%ebp),%eax
46c910:	50                   	push   %eax
46c911:	6a 75                	push   $0x75
46c913:	6a 00                	push   $0x0
46c915:	ff 15 d4 7e 4a 00    	call   *0x4a7ed4
46c91b:	0f b7 45 cc          	movzwl -0x34(%ebp),%eax
46c91f:	ff 75 a0             	push   -0x60(%ebp)
46c922:	83 e8 30             	sub    $0x30,%eax
46c925:	74 24                	je     0x46c94b
46c927:	83 e8 01             	sub    $0x1,%eax
46c92a:	74 0a                	je     0x46c936
46c92c:	83 e8 01             	sub    $0x1,%eax
46c92f:	74 13                	je     0x46c944
46c931:	83 e8 01             	sub    $0x1,%eax