45b525:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45b528:	75 16                	jne    0x45b540
45b52a:	51                   	push   %ecx
45b52b:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45b52e:	50                   	push   %eax
45b52f:	8d 45 b0             	lea    -0x50(%ebp),%eax
45b532:	50                   	push   %eax
45b533:	ff 15 68 7b 4a 00    	call   *0x4a7b68
45b539:	6a ff                	push   $0xffffffff
45b53b:	ff 75 e4             	push   -0x1c(%ebp)
45b53e:	eb 14                	jmp    0x45b554
45b540:	50                   	push   %eax
45b541:	51                   	push   %ecx
45b542:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45b545:	8d 45 a8             	lea    -0x58(%ebp),%eax
45b548:	50                   	push   %eax
45b549:	ff 15 68 7b 4a 00    	call   *0x4a7b68
45b54f:	ff 75 e4             	push   -0x1c(%ebp)
45b552:	6a ff                	push   $0xffffffff
45b554:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45b557:	ff 15 6c 7b 4a 00    	call   *0x4a7b6c
45b55d:	dd 45 d0             	fldl   -0x30(%ebp)
45b560:	51                   	push   %ecx
45b561:	51                   	push   %ecx
45b562:	dd 1c 24             	fstpl  (%esp)
45b565:	ff 75 d8             	push   -0x28(%ebp)
45b568:	8b ce                	mov    %esi,%ecx
45b56a:	ff 75 dc             	push   -0x24(%ebp)
45b56d:	e8 ab 01 00 00       	call   0x45b71d
45b572:	dd 86 90 00 00 00    	fldl   0x90(%esi)
45b578:	dd 45 d0             	fldl   -0x30(%ebp)
45b57b:	dd 45 b8             	fldl   -0x48(%ebp)
45b57e:	8b 45 d8             	mov    -0x28(%ebp),%eax
45b581:	03 45 0c             	add    0xc(%ebp),%eax
45b584:	d8 ca                	fmul   %st(2),%st
45b586:	89 45 d8             	mov    %eax,-0x28(%ebp)
45b589:	dc 4d c0             	fmull  -0x40(%ebp)
45b58c:	de c1                	faddp  %st,%st(1)
45b58e:	dd 55 d0             	fstl   -0x30(%ebp)
45b591:	dd 45 c8             	fldl   -0x38(%ebp)
45b594:	de ca                	fmulp  %st,%st(2)
45b596:	d9 c9                	fxch   %st(1)
45b598:	e8 84 5a 03 00       	call   0x491021
45b59d:	8b cf                	mov    %edi,%ecx
45b59f:	2b c8                	sub    %eax,%ecx
45b5a1:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
45b5a4:	db 45 e4             	fildl  -0x1c(%ebp)
45b5a7:	dd 5d e0             	fstpl  -0x20(%ebp)
45b5aa:	dd 45 e0             	fldl   -0x20(%ebp)
45b5ad:	d8 d9                	fcomp  %st(1)
45b5af:	df e0                	fnstsw %ax
45b5b1:	f6 c4 41             	test   $0x41,%ah
45b5b4:	0f 84 28 ff ff ff    	je     0x45b4e2
45b5ba:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45b5bd:	dd d8                	fstp   %st(0)
45b5bf:	5f                   	pop    %edi
45b5c0:	5e                   	pop    %esi
45b5c1:	33 cd                	xor    %ebp,%ecx
45b5c3:	5b                   	pop    %ebx
45b5c4:	e8 37 49 03 00       	call   0x48ff00
45b5c9:	c9                   	leave
45b5ca:	c2 10 00             	ret    $0x10
45b5cd:	8b ff                	mov    %edi,%edi
45b5cf:	55                   	push   %ebp
45b5d0:	8b ec                	mov    %esp,%ebp
45b5d2:	83 ec 58             	sub    $0x58,%esp
45b5d5:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
45b5da:	33 c5                	xor    %ebp,%eax
45b5dc:	89 45 f8             	mov    %eax,-0x8(%ebp)
45b5df:	8b 45 08             	mov    0x8(%ebp),%eax
45b5e2:	53                   	push   %ebx
45b5e3:	56                   	push   %esi
45b5e4:	57                   	push   %edi
45b5e5:	8b f1                	mov    %ecx,%esi
45b5e7:	89 45 e0             	mov    %eax,-0x20(%ebp)
45b5ea:	8d 45 e8             	lea    -0x18(%ebp),%eax
45b5ed:	50                   	push   %eax
45b5ee:	ff 76 20             	push   0x20(%esi)
45b5f1:	ff 15 ec 7d 4a 00    	call   *0x4a7dec
45b5f7:	83 7e 40 00          	cmpl   $0x0,0x40(%esi)
45b5fb:	75 11                	jne    0x45b60e
45b5fd:	8b 7d f4             	mov    -0xc(%ebp),%edi
45b600:	2b 7d ec             	sub    -0x14(%ebp),%edi
45b603:	8b 86 88 00 00 00    	mov    0x88(%esi),%eax
45b609:	dd 46 70             	fldl   0x70(%esi)
45b60c:	eb 0f                	jmp    0x45b61d
45b60e:	8b 7d f0             	mov    -0x10(%ebp),%edi
45b611:	2b 7d e8             	sub    -0x18(%ebp),%edi
45b614:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
45b61a:	dd 46 78             	fldl   0x78(%esi)
45b61d:	dd 55 bc             	fstl   -0x44(%ebp)
45b620:	db 45 0c             	fildl  0xc(%ebp)
45b623:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45b626:	33 db                	xor    %ebx,%ebx
45b628:	89 5d d0             	mov    %ebx,-0x30(%ebp)
45b62b:	dd 5d d4             	fstpl  -0x2c(%ebp)
45b62e:	dd 45 d4             	fldl   -0x2c(%ebp)
45b631:	dd 55 c4             	fstl   -0x3c(%ebp)
45b634:	db 45 e4             	fildl  -0x1c(%ebp)
45b637:	dd 5d d4             	fstpl  -0x2c(%ebp)
45b63a:	dd 45 d4             	fldl   -0x2c(%ebp)
45b63d:	dd 55 d4             	fstl   -0x2c(%ebp)
45b640:	dd 45 14             	fldl   0x14(%ebp)
45b643:	dd 05 30 42 41 00    	fldl   0x414230
45b649:	d9 ee                	fldz
45b64b:	eb 02                	jmp    0x45b64f
45b64d:	d9 cd                	fxch   %st(5)
45b64f:	dd 86 90 00 00 00    	fldl   0x90(%esi)
45b655:	d9 c0                	fld    %st(0)
45b657:	d8 ce                	fmul   %st(6),%st
45b659:	de cf                	fmulp  %st,%st(7)
45b65b:	db 45 d0             	fildl  -0x30(%ebp)
45b65e:	dd 5d cc             	fstpl  -0x34(%ebp)
45b661:	dd 45 cc             	fldl   -0x34(%ebp)
45b664:	de cf                	fmulp  %st,%st(7)
45b666:	d9 ce                	fxch   %st(6)
45b668:	d8 f2                	fdiv   %st(2),%st
45b66a:	d8 c3                	fadd   %st(3),%st
45b66c:	d9 c4                	fld    %st(4)
45b66e:	de cf                	fmulp  %st,%st(7)
45b670:	dc c6                	fadd   %st,%st(6)
45b672:	d9 ce                	fxch   %st(6)
45b674:	d8 d9                	fcomp  %st(1)
45b676:	df e0                	fnstsw %ax
45b678:	f6 c4 41             	test   $0x41,%ah
45b67b:	0f 85 98 00 00 00    	jne    0x45b719
45b681:	dd dc                	fstp   %st(4)
45b683:	dd da                	fstp   %st(2)
45b685:	dd d8                	fstp   %st(0)
45b687:	dd d8                	fstp   %st(0)
45b689:	dd d8                	fstp   %st(0)
45b68b:	e8 91 59 03 00       	call   0x491021
45b690:	83 7e 40 00          	cmpl   $0x0,0x40(%esi)
45b694:	8d 4f ff             	lea    -0x1(%edi),%ecx
45b697:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45b69a:	75 18                	jne    0x45b6b4
45b69c:	51                   	push   %ecx
45b69d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
45b6a0:	50                   	push   %eax
45b6a1:	8d 45 b4             	lea    -0x4c(%ebp),%eax
45b6a4:	50                   	push   %eax
45b6a5:	ff 15 68 7b 4a 00    	call   *0x4a7b68
45b6ab:	8d 47 fa             	lea    -0x6(%edi),%eax
45b6ae:	50                   	push   %eax
45b6af:	ff 75 e4             	push   -0x1c(%ebp)
45b6b2:	eb 16                	jmp    0x45b6ca
45b6b4:	50                   	push   %eax
45b6b5:	51                   	push   %ecx
45b6b6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
45b6b9:	8d 45 ac             	lea    -0x54(%ebp),%eax
45b6bc:	50                   	push   %eax
45b6bd:	ff 15 68 7b 4a 00    	call   *0x4a7b68
45b6c3:	ff 75 e4             	push   -0x1c(%ebp)
45b6c6:	8d 47 fa             	lea    -0x6(%edi),%eax
45b6c9:	50                   	push   %eax
45b6ca:	8b 4d e0             	mov    -0x20(%ebp),%ecx
45b6cd:	ff 15 6c 7b 4a 00    	call   *0x4a7b6c
45b6d3:	dd 45 c4             	fldl   -0x3c(%ebp)
45b6d6:	dd 45 d4             	fldl   -0x2c(%ebp)
45b6d9:	dd 45 14             	fldl   0x14(%ebp)
45b6dc:	dd 05 30 42 41 00    	fldl   0x414230
45b6e2:	d9 ee                	fldz
45b6e4:	d9 cc                	fxch   %st(4)
45b6e6:	d9 cb                	fxch   %st(3)
45b6e8:	d9 ca                	fxch   %st(2)
45b6ea:	d9 c9                	fxch   %st(1)
45b6ec:	dd 45 bc             	fldl   -0x44(%ebp)
45b6ef:	43                   	inc    %ebx
45b6f0:	89 5d d0             	mov    %ebx,-0x30(%ebp)
45b6f3:	83 fb 0a             	cmp    $0xa,%ebx
45b6f6:	0f 8c 51 ff ff ff    	jl     0x45b64d
45b6fc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45b6ff:	dd d8                	fstp   %st(0)
45b701:	dd db                	fstp   %st(3)
45b703:	33 cd                	xor    %ebp,%ecx
45b705:	dd d9                	fstp   %st(1)
45b707:	dd d8                	fstp   %st(0)
45b709:	5f                   	pop    %edi
45b70a:	dd d8                	fstp   %st(0)
45b70c:	5e                   	pop    %esi
45b70d:	dd d8                	fstp   %st(0)
45b70f:	5b                   	pop    %ebx
45b710:	e8 eb 47 03 00       	call   0x48ff00
45b715:	c9                   	leave
45b716:	c2 14 00             	ret    $0x14
45b719:	dd dd                	fstp   %st(5)
45b71b:	eb cf                	jmp    0x45b6ec
45b71d:	8b ff                	mov    %edi,%edi
45b71f:	55                   	push   %ebp
45b720:	8b ec                	mov    %esp,%ebp
45b722:	83 ec 34             	sub    $0x34,%esp
45b725:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
45b72a:	33 c5                	xor    %ebp,%eax
45b72c:	89 45 fc             	mov    %eax,-0x4(%ebp)
45b72f:	53                   	push   %ebx
45b730:	8b 5d 08             	mov    0x8(%ebp),%ebx
45b733:	8d 45 d4             	lea    -0x2c(%ebp),%eax
45b736:	56                   	push   %esi
45b737:	8b f1                	mov    %ecx,%esi
45b739:	57                   	push   %edi
45b73a:	50                   	push   %eax
45b73b:	89 75 d0             	mov    %esi,-0x30(%ebp)
45b73e:	ff 76 20             	push   0x20(%esi)
45b741:	ff 15 ec 7d 4a 00    	call   *0x4a7dec
45b747:	6a 06                	push   $0x6
45b749:	59                   	pop    %ecx
45b74a:	33 c0                	xor    %eax,%eax
45b74c:	8d 7d e4             	lea    -0x1c(%ebp),%edi
45b74f:	f3 ab                	rep stos %eax,%es:(%edi)
45b751:	6a 01                	push   $0x1
45b753:	8b cb                	mov    %ebx,%ecx
45b755:	ff 15 78 7b 4a 00    	call   *0x4a7b78
45b75b:	8b 03                	mov    (%ebx),%eax
45b75d:	ff 76 6c             	push   0x6c(%esi)
45b760:	8b 70 38             	mov    0x38(%eax),%esi
45b763:	8b ce                	mov    %esi,%ecx
45b765:	ff 15 2c 81 4a 00    	call   *0x4a812c
45b76b:	8b cb                	mov    %ebx,%ecx
45b76d:	ff d6                	call   *%esi
45b76f:	ff 75 0c             	push   0xc(%ebp)
45b772:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45b775:	68 54 fa 40 00       	push   $0x40fa54
45b77a:	6a 0c                	push   $0xc
45b77c:	50                   	push   %eax
45b77d:	e8 04 c1 fb ff       	call   0x417886
45b782:	83 c4 10             	add    $0x10,%esp
45b785:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
45b788:	33 f6                	xor    %esi,%esi
45b78a:	6a 0b                	push   $0xb
45b78c:	5a                   	pop    %edx
45b78d:	8b c2                	mov    %edx,%eax
45b78f:	66 39 31             	cmp    %si,(%ecx)
45b792:	74 08                	je     0x45b79c
45b794:	83 c1 02             	add    $0x2,%ecx
45b797:	83 e8 01             	sub    $0x1,%eax
45b79a:	75 f3                	jne    0x45b78f
45b79c:	2b d0                	sub    %eax,%edx
45b79e:	8b f8                	mov    %eax,%edi
45b7a0:	f7 df                	neg    %edi
45b7a2:	1b ff                	sbb    %edi,%edi
45b7a4:	23 fa                	and    %edx,%edi
45b7a6:	85 c0                	test   %eax,%eax
45b7a8:	0f 84 b3 00 00 00    	je     0x45b861
45b7ae:	8b 03                	mov    (%ebx),%eax
45b7b0:	8b 70 30             	mov    0x30(%eax),%esi
45b7b3:	8b ce                	mov    %esi,%ecx
45b7b5:	8b 45 d0             	mov    -0x30(%ebp),%eax
45b7b8:	83 78 40 00          	cmpl   $0x0,0x40(%eax)
45b7bc:	75 44                	jne    0x45b802
45b7be:	83 c0 44             	add    $0x44,%eax
45b7c1:	50                   	push   %eax
45b7c2:	ff 15 2c 81 4a 00    	call   *0x4a812c
45b7c8:	8b cb                	mov    %ebx,%ecx
45b7ca:	ff d6                	call   *%esi
45b7cc:	6a 18                	push   $0x18
45b7ce:	8b cb                	mov    %ebx,%ecx
45b7d0:	ff 15 7c 7b 4a 00    	call   *0x4a7b7c
45b7d6:	dd 45 10             	fldl   0x10(%ebp)
45b7d9:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45b7dc:	dc 05 b8 41 41 00    	faddl  0x4141b8
45b7e2:	8b 33                	mov    (%ebx),%esi
45b7e4:	33 c9                	xor    %ecx,%ecx
45b7e6:	51                   	push   %ecx
45b7e7:	57                   	push   %edi
45b7e8:	50                   	push   %eax
45b7e9:	8b 45 e0             	mov    -0x20(%ebp),%eax
45b7ec:	2b 45 d8             	sub    -0x28(%ebp),%eax
45b7ef:	dc 05 e8 41 41 00    	faddl  0x4141e8
45b7f5:	51                   	push   %ecx
45b7f6:	51                   	push   %ecx
45b7f7:	83 e8 07             	sub    $0x7,%eax
45b7fa:	50                   	push   %eax
45b7fb:	e8 21 58 03 00       	call   0x491021
45b800:	eb 50                	jmp    0x45b852
45b802:	83 c0 4c             	add    $0x4c,%eax
45b805:	50                   	push   %eax
45b806:	ff 15 2c 81 4a 00    	call   *0x4a812c
45b80c:	8b cb                	mov    %ebx,%ecx
45b80e:	ff d6                	call   *%esi
45b810:	8d 45 cc             	lea    -0x34(%ebp),%eax
45b813:	50                   	push   %eax
45b814:	57                   	push   %edi
45b815:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45b818:	50                   	push   %eax
45b819:	ff 73 08             	push   0x8(%ebx)
45b81c:	ff 15 84 70 4a 00    	call   *0x4a7084
45b822:	6a 18                	push   $0x18
45b824:	8b cb                	mov    %ebx,%ecx
45b826:	ff 15 7c 7b 4a 00    	call   *0x4a7b7c
45b82c:	dd 45 10             	fldl   0x10(%ebp)
45b82f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45b832:	8b 33                	mov    (%ebx),%esi
45b834:	33 c9                	xor    %ecx,%ecx
45b836:	51                   	push   %ecx
45b837:	57                   	push   %edi
45b838:	50                   	push   %eax
45b839:	51                   	push   %ecx
45b83a:	51                   	push   %ecx
45b83b:	e8 e1 57 03 00       	call   0x491021
45b840:	8b 4d cc             	mov    -0x34(%ebp),%ecx
45b843:	83 c1 02             	add    $0x2,%ecx
45b846:	03 c1                	add    %ecx,%eax
45b848:	50                   	push   %eax
45b849:	8b 45 dc             	mov    -0x24(%ebp),%eax
45b84c:	2b 45 d4             	sub    -0x2c(%ebp),%eax
45b84f:	83 e8 07             	sub    $0x7,%eax
45b852:	8b 4e 68             	mov    0x68(%esi),%ecx
45b855:	50                   	push   %eax
45b856:	ff 15 2c 81 4a 00    	call   *0x4a812c
45b85c:	8b cb                	mov    %ebx,%ecx
45b85e:	ff 56 68             	call   *0x68(%esi)
45b861:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45b864:	5f                   	pop    %edi
45b865:	5e                   	pop    %esi
45b866:	33 cd                	xor    %ebp,%ecx
45b868:	5b                   	pop    %ebx
45b869:	e8 92 46 03 00       	call   0x48ff00
45b86e:	c9                   	leave
45b86f:	c2 10 00             	ret    $0x10
45b872:	8b ff                	mov    %edi,%edi
45b874:	55                   	push   %ebp
45b875:	8b ec                	mov    %esp,%ebp
45b877:	dd 45 08             	fldl   0x8(%ebp)
45b87a:	dd 81 90 00 00 00    	fldl   0x90(%ecx)
45b880:	dd e9                	fucomp %st(1)
45b882:	df e0                	fnstsw %ax
45b884:	f6 c4 44             	test   $0x44,%ah
45b887:	7b 0d                	jnp    0x45b896
45b889:	dd 99 90 00 00 00    	fstpl  0x90(%ecx)
45b88f:	e8 08 00 00 00       	call   0x45b89c
45b894:	eb 02                	jmp    0x45b898
45b896:	dd d8                	fstp   %st(0)
45b898:	5d                   	pop    %ebp
45b899:	c2 08 00             	ret    $0x8
45b89c:	8b ff                	mov    %edi,%edi
45b89e:	53                   	push   %ebx
45b89f:	56                   	push   %esi
45b8a0:	57                   	push   %edi
45b8a1:	8b f9                	mov    %ecx,%edi
45b8a3:	ff 77 20             	push   0x20(%edi)
45b8a6:	ff 15 2c 7d 4a 00    	call   *0x4a7d2c
45b8ac:	50                   	push   %eax
45b8ad:	ff 15 ec 76 4a 00    	call   *0x4a76ec
45b8b3:	8b 0d 5c 58 4a 00    	mov    0x4a585c,%ecx
45b8b9:	33 db                	xor    %ebx,%ebx
45b8bb:	43                   	inc    %ebx
45b8bc:	8b d3                	mov    %ebx,%edx
45b8be:	8b 40 48             	mov    0x48(%eax),%eax
45b8c1:	8b 70 48             	mov    0x48(%eax),%esi
45b8c4:	56                   	push   %esi