46b3b2:	74 1f                	je     0x46b3d3
46b3b4:	83 eb 20             	sub    $0x20,%ebx
46b3b7:	53                   	push   %ebx
46b3b8:	8d 4b 20             	lea    0x20(%ebx),%ecx
46b3bb:	e8 d0 2a fb ff       	call   0x41de90
46b3c0:	8d 43 10             	lea    0x10(%ebx),%eax
46b3c3:	50                   	push   %eax
46b3c4:	8d 4b 30             	lea    0x30(%ebx),%ecx
46b3c7:	e8 c4 2a fb ff       	call   0x41de90
46b3cc:	3b de                	cmp    %esi,%ebx
46b3ce:	75 e4                	jne    0x46b3b4
46b3d0:	8b 75 08             	mov    0x8(%ebp),%esi
46b3d3:	8d 7e 20             	lea    0x20(%esi),%edi
46b3d6:	eb 1a                	jmp    0x46b3f2
46b3d8:	8d 45 c0             	lea    -0x40(%ebp),%eax
46b3db:	8b ce                	mov    %esi,%ecx
46b3dd:	50                   	push   %eax
46b3de:	e8 ad 2a fb ff       	call   0x41de90
46b3e3:	8d 45 d0             	lea    -0x30(%ebp),%eax
46b3e6:	50                   	push   %eax
46b3e7:	8d 4e 10             	lea    0x10(%esi),%ecx
46b3ea:	e8 a1 2a fb ff       	call   0x41de90
46b3ef:	83 c6 20             	add    $0x20,%esi
46b3f2:	3b f7                	cmp    %edi,%esi
46b3f4:	75 e2                	jne    0x46b3d8
46b3f6:	8d 4d c0             	lea    -0x40(%ebp),%ecx
46b3f9:	e8 67 2a fb ff       	call   0x41de65
46b3fe:	e8 9e 50 02 00       	call   0x4904a1
46b403:	c2 0c 00             	ret    $0xc
46b406:	e8 27 25 fb ff       	call   0x41d932
46b40b:	ff 75 ec             	push   -0x14(%ebp)
46b40e:	ff 75 e8             	push   -0x18(%ebp)
46b411:	e8 42 fd ff ff       	call   0x46b158
46b416:	51                   	push   %ecx
46b417:	ff 75 e8             	push   -0x18(%ebp)
46b41a:	e8 90 25 fb ff       	call   0x41d9af
46b41f:	33 f6                	xor    %esi,%esi
46b421:	56                   	push   %esi
46b422:	56                   	push   %esi
46b423:	e8 73 50 02 00       	call   0x49049b
46b428:	cc                   	int3
46b429:	6a 0c                	push   $0xc
46b42b:	b8 ff 53 49 00       	mov    $0x4953ff,%eax
46b430:	e8 07 51 02 00       	call   0x49053c
46b435:	8b fa                	mov    %edx,%edi
46b437:	8b f1                	mov    %ecx,%esi
46b439:	89 4d ec             	mov    %ecx,-0x14(%ebp)
46b43c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46b440:	89 75 e8             	mov    %esi,-0x18(%ebp)
46b443:	85 ff                	test   %edi,%edi
46b445:	74 29                	je     0x46b470
46b447:	ff 75 08             	push   0x8(%ebp)
46b44a:	8b ce                	mov    %esi,%ecx
46b44c:	e8 06 f4 ff ff       	call   0x46a857
46b451:	4f                   	dec    %edi
46b452:	83 c6 20             	add    $0x20,%esi
46b455:	89 75 ec             	mov    %esi,-0x14(%ebp)
46b458:	eb e9                	jmp    0x46b443
46b45a:	8b 75 e8             	mov    -0x18(%ebp),%esi
46b45d:	eb 0a                	jmp    0x46b469
46b45f:	8b ce                	mov    %esi,%ecx
46b461:	e8 ff 29 fb ff       	call   0x41de65
46b466:	83 c6 20             	add    $0x20,%esi
46b469:	3b 75 ec             	cmp    -0x14(%ebp),%esi
46b46c:	74 0a                	je     0x46b478
46b46e:	eb ef                	jmp    0x46b45f
46b470:	e8 2c 50 02 00       	call   0x4904a1
46b475:	c2 10 00             	ret    $0x10
46b478:	6a 00                	push   $0x0
46b47a:	6a 00                	push   $0x0
46b47c:	e8 1a 50 02 00       	call   0x49049b
46b481:	cc                   	int3
46b482:	6a 0c                	push   $0xc
46b484:	b8 1a 54 49 00       	mov    $0x49541a,%eax
46b489:	e8 ae 50 02 00       	call   0x49053c
46b48e:	8b f1                	mov    %ecx,%esi
46b490:	89 4d ec             	mov    %ecx,-0x14(%ebp)
46b493:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46b497:	8b 45 08             	mov    0x8(%ebp),%eax
46b49a:	89 75 e8             	mov    %esi,-0x18(%ebp)
46b49d:	3b 45 0c             	cmp    0xc(%ebp),%eax
46b4a0:	74 2f                	je     0x46b4d1
46b4a2:	50                   	push   %eax
46b4a3:	8b ce                	mov    %esi,%ecx
46b4a5:	e8 ad f3 ff ff       	call   0x46a857
46b4aa:	8b 45 08             	mov    0x8(%ebp),%eax
46b4ad:	83 c6 20             	add    $0x20,%esi
46b4b0:	83 c0 20             	add    $0x20,%eax
46b4b3:	89 75 ec             	mov    %esi,-0x14(%ebp)
46b4b6:	89 45 08             	mov    %eax,0x8(%ebp)
46b4b9:	eb e2                	jmp    0x46b49d
46b4bb:	8b 75 e8             	mov    -0x18(%ebp),%esi
46b4be:	eb 0a                	jmp    0x46b4ca
46b4c0:	8b ce                	mov    %esi,%ecx
46b4c2:	e8 9e 29 fb ff       	call   0x41de65
46b4c7:	83 c6 20             	add    $0x20,%esi
46b4ca:	3b 75 ec             	cmp    -0x14(%ebp),%esi
46b4cd:	74 0c                	je     0x46b4db
46b4cf:	eb ef                	jmp    0x46b4c0
46b4d1:	8b c6                	mov    %esi,%eax
46b4d3:	e8 c9 4f 02 00       	call   0x4904a1
46b4d8:	c2 10 00             	ret    $0x10
46b4db:	6a 00                	push   $0x0
46b4dd:	6a 00                	push   $0x0
46b4df:	e8 b7 4f 02 00       	call   0x49049b
46b4e4:	cc                   	int3
46b4e5:	6a 08                	push   $0x8
46b4e7:	b8 35 54 49 00       	mov    $0x495435,%eax
46b4ec:	e8 4b 50 02 00       	call   0x49053c
46b4f1:	8b da                	mov    %edx,%ebx
46b4f3:	8b f9                	mov    %ecx,%edi
46b4f5:	8b 75 08             	mov    0x8(%ebp),%esi
46b4f8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46b4fc:	89 75 ec             	mov    %esi,-0x14(%ebp)
46b4ff:	3b fb                	cmp    %ebx,%edi
46b501:	74 29                	je     0x46b52c
46b503:	57                   	push   %edi
46b504:	8b ce                	mov    %esi,%ecx
46b506:	e8 4c f3 ff ff       	call   0x46a857
46b50b:	83 c6 20             	add    $0x20,%esi
46b50e:	83 c7 20             	add    $0x20,%edi
46b511:	89 75 08             	mov    %esi,0x8(%ebp)
46b514:	eb e9                	jmp    0x46b4ff
46b516:	8b 75 ec             	mov    -0x14(%ebp),%esi
46b519:	eb 0a                	jmp    0x46b525
46b51b:	8b ce                	mov    %esi,%ecx
46b51d:	e8 43 29 fb ff       	call   0x41de65
46b522:	83 c6 20             	add    $0x20,%esi
46b525:	3b 75 08             	cmp    0x8(%ebp),%esi
46b528:	74 0c                	je     0x46b536
46b52a:	eb ef                	jmp    0x46b51b
46b52c:	8b c6                	mov    %esi,%eax
46b52e:	e8 6e 4f 02 00       	call   0x4904a1
46b533:	c2 10 00             	ret    $0x10
46b536:	6a 00                	push   $0x0
46b538:	6a 00                	push   $0x0
46b53a:	e8 5c 4f 02 00       	call   0x49049b
46b53f:	cc                   	int3
46b540:	8b 91 88 02 00 00    	mov    0x288(%ecx),%edx
46b546:	85 d2                	test   %edx,%edx
46b548:	75 04                	jne    0x46b54e
46b54a:	33 c0                	xor    %eax,%eax
46b54c:	eb 0b                	jmp    0x46b559
46b54e:	8b 81 8c 02 00 00    	mov    0x28c(%ecx),%eax
46b554:	2b c2                	sub    %edx,%eax
46b556:	c1 f8 03             	sar    $0x3,%eax
46b559:	85 c0                	test   %eax,%eax
46b55b:	0f 95 c0             	setne  %al
46b55e:	c3                   	ret
46b55f:	cc                   	int3
46b560:	b8 e0 59 40 00       	mov    $0x4059e0,%eax
46b565:	c3                   	ret
46b566:	6a 08                	push   $0x8
46b568:	b8 ae 54 49 00       	mov    $0x4954ae,%eax
46b56d:	e8 61 4f 02 00       	call   0x4904d3
46b572:	8b f9                	mov    %ecx,%edi
46b574:	89 7d f0             	mov    %edi,-0x10(%ebp)
46b577:	ff 15 a0 76 4a 00    	call   *0x4a76a0
46b57d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46b581:	8d 4f 40             	lea    0x40(%edi),%ecx
46b584:	c7 07 8c 58 40 00    	movl   $0x40588c,(%edi)
46b58a:	ff 15 20 73 4a 00    	call   *0x4a7320
46b590:	8d b7 9c 00 00 00    	lea    0x9c(%edi),%esi
46b596:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46b59a:	8b ce                	mov    %esi,%ecx
46b59c:	89 75 ec             	mov    %esi,-0x14(%ebp)
46b59f:	ff 15 a0 76 4a 00    	call   *0x4a76a0
46b5a5:	bb c8 57 40 00       	mov    $0x4057c8,%ebx
46b5aa:	89 1e                	mov    %ebx,(%esi)
46b5ac:	8d b7 dc 00 00 00    	lea    0xdc(%edi),%esi
46b5b2:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46b5b6:	8b ce                	mov    %esi,%ecx
46b5b8:	89 75 ec             	mov    %esi,-0x14(%ebp)
46b5bb:	ff 15 a0 76 4a 00    	call   *0x4a76a0
46b5c1:	89 1e                	mov    %ebx,(%esi)
46b5c3:	8d 8f 1c 01 00 00    	lea    0x11c(%edi),%ecx
46b5c9:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
46b5cd:	e8 a4 16 00 00       	call   0x46cc76
46b5d2:	8d 8f a4 01 00 00    	lea    0x1a4(%edi),%ecx
46b5d8:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
46b5dc:	e8 95 16 00 00       	call   0x46cc76
46b5e1:	8d b7 2c 02 00 00    	lea    0x22c(%edi),%esi
46b5e7:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
46b5eb:	8b ce                	mov    %esi,%ecx
46b5ed:	89 75 ec             	mov    %esi,-0x14(%ebp)
46b5f0:	ff 15 a0 76 4a 00    	call   *0x4a76a0
46b5f6:	c7 06 04 57 40 00    	movl   $0x405704,(%esi)
46b5fc:	d9 e8                	fld1
46b5fe:	33 c0                	xor    %eax,%eax
46b600:	dd 9f 70 02 00 00    	fstpl  0x270(%edi)
46b606:	dd 05 48 41 41 00    	fldl   0x414148
46b60c:	89 87 7c 02 00 00    	mov    %eax,0x27c(%edi)
46b612:	89 87 80 02 00 00    	mov    %eax,0x280(%edi)
46b618:	89 87 88 02 00 00    	mov    %eax,0x288(%edi)
46b61e:	89 87 8c 02 00 00    	mov    %eax,0x28c(%edi)
46b624:	89 87 90 02 00 00    	mov    %eax,0x290(%edi)
46b62a:	dd 9f 98 02 00 00    	fstpl  0x298(%edi)
46b630:	dd 05 28 42 41 00    	fldl   0x414228
46b636:	89 87 a8 02 00 00    	mov    %eax,0x2a8(%edi)
46b63c:	89 87 ac 02 00 00    	mov    %eax,0x2ac(%edi)
46b642:	dd 9f a0 02 00 00    	fstpl  0x2a0(%edi)
46b648:	89 87 b4 02 00 00    	mov    %eax,0x2b4(%edi)
46b64e:	8b c7                	mov    %edi,%eax
46b650:	c7 87 b0 02 00 00 2c 	movl   $0x40362c,0x2b0(%edi)
46b657:	36 40 00
46b65a:	e8 42 4e 02 00       	call   0x4904a1
46b65f:	c3                   	ret
46b660:	8b ff                	mov    %edi,%edi
46b662:	55                   	push   %ebp
46b663:	8b ec                	mov    %esp,%ebp
46b665:	56                   	push   %esi
46b666:	8b f1                	mov    %ecx,%esi
46b668:	e8 15 00 00 00       	call   0x46b682
46b66d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
46b671:	74 08                	je     0x46b67b
46b673:	56                   	push   %esi
46b674:	ff 15 10 74 4a 00    	call   *0x4a7410
46b67a:	59                   	pop    %ecx
46b67b:	8b c6                	mov    %esi,%eax
46b67d:	5e                   	pop    %esi
46b67e:	5d                   	pop    %ebp
46b67f:	c2 04 00             	ret    $0x4
46b682:	8b ff                	mov    %edi,%edi
46b684:	56                   	push   %esi
46b685:	8b f1                	mov    %ecx,%esi
46b687:	8d 8e b0 02 00 00    	lea    0x2b0(%esi),%ecx
46b68d:	c7 06 8c 58 40 00    	movl   $0x40588c,(%esi)
46b693:	c7 01 2c 36 40 00    	movl   $0x40362c,(%ecx)
46b699:	e8 35 47 fb ff       	call   0x41fdd3
46b69e:	8d 8e 84 02 00 00    	lea    0x284(%esi),%ecx
46b6a4:	e8 67 22 fb ff       	call   0x41d910
46b6a9:	8d 8e 2c 02 00 00    	lea    0x22c(%esi),%ecx
46b6af:	ff 15 0c 73 4a 00    	call   *0x4a730c
46b6b5:	8d 8e a4 01 00 00    	lea    0x1a4(%esi),%ecx
46b6bb:	e8 32 16 00 00       	call   0x46ccf2
46b6c0:	8d 8e 1c 01 00 00    	lea    0x11c(%esi),%ecx
46b6c6:	e8 27 16 00 00       	call   0x46ccf2
46b6cb:	8d 8e dc 00 00 00    	lea    0xdc(%esi),%ecx
46b6d1:	ff 15 14 73 4a 00    	call   *0x4a7314
46b6d7:	8d 8e 9c 00 00 00    	lea    0x9c(%esi),%ecx
46b6dd:	ff 15 14 73 4a 00    	call   *0x4a7314
46b6e3:	8d 4e 40             	lea    0x40(%esi),%ecx
46b6e6:	ff 15 1c 73 4a 00    	call   *0x4a731c
46b6ec:	8b ce                	mov    %esi,%ecx
46b6ee:	5e                   	pop    %esi
46b6ef:	ff 25 9c 76 4a 00    	jmp    *0x4a769c
46b6f5:	68 08 01 00 00       	push   $0x108
46b6fa:	b8 11 55 49 00       	mov    $0x495511,%eax
46b6ff:	e8 02 4e 02 00       	call   0x490506
46b704:	8b d9                	mov    %ecx,%ebx
46b706:	89 9d 1c ff ff ff    	mov    %ebx,-0xe4(%ebp)
46b70c:	8b 45 08             	mov    0x8(%ebp),%eax
46b70f:	8b 7d 0c             	mov    0xc(%ebp),%edi
46b712:	8b 75 10             	mov    0x10(%ebp),%esi
46b715:	89 83 7c 02 00 00    	mov    %eax,0x27c(%ebx)
46b71b:	33 c0                	xor    %eax,%eax
46b71d:	50                   	push   %eax
46b71e:	50                   	push   %eax
46b71f:	50                   	push   %eax
46b720:	50                   	push   %eax
46b721:	89 bd 30 ff ff ff    	mov    %edi,-0xd0(%ebp)
46b727:	ff 15 18 77 4a 00    	call   *0x4a7718
46b72d:	50                   	push   %eax
46b72e:	8d 8d 3c ff ff ff    	lea    -0xc4(%ebp),%ecx
46b734:	ff 15 48 74 4a 00    	call   *0x4a7448
46b73a:	33 c0                	xor    %eax,%eax
46b73c:	8b cb                	mov    %ebx,%ecx
46b73e:	50                   	push   %eax
46b73f:	68 01 d0 00 00       	push   $0xd001
46b744:	57                   	push   %edi
46b745:	56                   	push   %esi
46b746:	68 00 00 01 50       	push   $0x50010000
46b74b:	50                   	push   %eax
46b74c:	89 45 fc             	mov    %eax,-0x4(%ebp)
46b74f:	ff b5 3c ff ff ff    	push   -0xc4(%ebp)
46b755:	ff 15 a0 74 4a 00    	call   *0x4a74a0
46b75b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
46b75f:	8d 8d 3c ff ff ff    	lea    -0xc4(%ebp),%ecx
46b765:	8b f8                	mov    %eax,%edi
46b767:	ff 15 1c 74 4a 00    	call   *0x4a741c
46b76d:	53                   	push   %ebx
46b76e:	8d 8d ec fe ff ff    	lea    -0x114(%ebp),%ecx
46b774:	ff 15 d8 76 4a 00    	call   *0x4a76d8
46b77a:	6a 58                	push   $0x58
46b77c:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46b783:	ff b5 f4 fe ff ff    	push   -0x10c(%ebp)
46b789:	ff 15 64 71 4a 00    	call   *0x4a7164
46b78f:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
46b795:	db 85 38 ff ff ff    	fildl  -0xc8(%ebp)
46b79b:	6a 5a                	push   $0x5a
46b79d:	dd 9d 28 ff ff ff    	fstpl  -0xd8(%ebp)
46b7a3:	dd 85 28 ff ff ff    	fldl   -0xd8(%ebp)
46b7a9:	dc 35 90 42 41 00    	fdivl  0x414290
46b7af:	ff b5 f4 fe ff ff    	push   -0x10c(%ebp)
46b7b5:	dd 9d 14 ff ff ff    	fstpl  -0xec(%ebp)
46b7bb:	ff 15 64 71 4a 00    	call   *0x4a7164
46b7c1:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
46b7c7:	db 85 38 ff ff ff    	fildl  -0xc8(%ebp)
46b7cd:	dd 9d 28 ff ff ff    	fstpl  -0xd8(%ebp)
46b7d3:	dd 85 28 ff ff ff    	fldl   -0xd8(%ebp)
46b7d9:	dc 35 90 42 41 00    	fdivl  0x414290
46b7df:	dd 85 14 ff ff ff    	fldl   -0xec(%ebp)
46b7e5:	d9 c0                	fld    %st(0)
46b7e7:	d8 c1                	fadd   %st(1),%st
46b7e9:	e8 33 58 02 00       	call   0x491021
46b7ee:	8b f0                	mov    %eax,%esi
46b7f0:	d9 c1                	fld    %st(1)
46b7f2:	89 b5 40 ff ff ff    	mov    %esi,-0xc0(%ebp)
46b7f8:	e8 24 58 02 00       	call   0x491021
46b7fd:	d9 c1                	fld    %st(1)
46b7ff:	89 85 20 ff ff ff    	mov    %eax,-0xe0(%ebp)
46b805:	dd 05 10 42 41 00    	fldl   0x414210
46b80b:	dc c9                	fmul   %st,%st(1)
46b80d:	d9 c9                	fxch   %st(1)
46b80f:	e8 0d 58 02 00       	call   0x491021
46b814:	d9 c1                	fld    %st(1)
46b816:	89 85 0c ff ff ff    	mov    %eax,-0xf4(%ebp)
46b81c:	dc 0d 70 42 41 00    	fmull  0x414270
46b822:	e8 fa 57 02 00       	call   0x491021
46b827:	d9 ca                	fxch   %st(2)
46b829:	89 85 24 ff ff ff    	mov    %eax,-0xdc(%ebp)
46b82f:	dc 0d 58 42 41 00    	fmull  0x414258
46b835:	e8 e7 57 02 00       	call   0x491021
46b83a:	dd 05 d8 40 41 00    	fldl   0x4140d8
46b840:	d8 c9                	fmul   %st(1),%st
46b842:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
46b848:	e8 d4 57 02 00       	call   0x491021
46b84d:	d9 c0                	fld    %st(0)
46b84f:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
46b855:	de ca                	fmulp  %st,%st(2)
46b857:	d9 c9                	fxch   %st(1)
46b859:	e8 c3 57 02 00       	call   0x491021
46b85e:	dd 05 50 42 41 00    	fldl   0x414250
46b864:	d8 c9                	fmul   %st(1),%st
46b866:	89 85 18 ff ff ff    	mov    %eax,-0xe8(%ebp)
46b86c:	e8 b0 57 02 00       	call   0x491021
46b871:	dc 0d 98 42 41 00    	fmull  0x414298
46b877:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
46b87d:	e8 9f 57 02 00       	call   0x491021
46b882:	89 85 2c ff ff ff    	mov    %eax,-0xd4(%ebp)
46b888:	85 ff                	test   %edi,%edi
46b88a:	0f 84 ba 03 00 00    	je     0x46bc4a
46b890:	8b bb 7c 02 00 00    	mov    0x27c(%ebx),%edi
46b896:	8d 85 10 ff ff ff    	lea    -0xf0(%ebp),%eax
46b89c:	6a 03                	push   $0x3
46b89e:	50                   	push   %eax
46b89f:	8b 0f                	mov    (%edi),%ecx
46b8a1:	8b 71 08             	mov    0x8(%ecx),%esi
46b8a4:	8b ce                	mov    %esi,%ecx
46b8a6:	ff 15 2c 81 4a 00    	call   *0x4a812c