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
46b8ac:	8b cf                	mov    %edi,%ecx
46b8ae:	ff d6                	call   *%esi
46b8b0:	68 02 d0 00 00       	push   $0xd002
46b8b5:	53                   	push   %ebx
46b8b6:	8d 4d a0             	lea    -0x60(%ebp),%ecx
46b8b9:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
46b8bd:	51                   	push   %ecx
46b8be:	68 00 00 00 40       	push   $0x40000000
46b8c3:	ff 30                	push   (%eax)
46b8c5:	8d 8b 9c 00 00 00    	lea    0x9c(%ebx),%ecx
46b8cb:	ff 15 08 73 4a 00    	call   *0x4a7308
46b8d1:	8d 8d 10 ff ff ff    	lea    -0xf0(%ebp),%ecx
46b8d7:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46b8db:	8b f8                	mov    %eax,%edi
46b8dd:	ff 15 1c 74 4a 00    	call   *0x4a741c
46b8e3:	8b b5 40 ff ff ff    	mov    -0xc0(%ebp),%esi
46b8e9:	85 ff                	test   %edi,%edi
46b8eb:	0f 84 59 03 00 00    	je     0x46bc4a
46b8f1:	8b 85 0c ff ff ff    	mov    -0xf4(%ebp),%eax
46b8f7:	8d 8b dc 00 00 00    	lea    0xdc(%ebx),%ecx
46b8fd:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46b900:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
46b906:	03 c6                	add    %esi,%eax
46b908:	89 75 e0             	mov    %esi,-0x20(%ebp)
46b90b:	68 03 d0 00 00       	push   $0xd003
46b910:	89 45 e8             	mov    %eax,-0x18(%ebp)
46b913:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
46b919:	53                   	push   %ebx
46b91a:	89 45 ec             	mov    %eax,-0x14(%ebp)
46b91d:	8d 45 e0             	lea    -0x20(%ebp),%eax
46b920:	50                   	push   %eax
46b921:	68 02 02 00 50       	push   $0x50000202
46b926:	68 80 fa 40 00       	push   $0x40fa80
46b92b:	ff 15 08 73 4a 00    	call   *0x4a7308
46b931:	8b f8                	mov    %eax,%edi
46b933:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
46b939:	03 85 18 ff ff ff    	add    -0xe8(%ebp),%eax
46b93f:	03 f0                	add    %eax,%esi
46b941:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
46b947:	89 b5 40 ff ff ff    	mov    %esi,-0xc0(%ebp)
46b94d:	85 c0                	test   %eax,%eax
46b94f:	74 64                	je     0x46b9b5
46b951:	6a 00                	push   $0x0
46b953:	6a 00                	push   $0x0
46b955:	6a 31                	push   $0x31
46b957:	ff 70 20             	push   0x20(%eax)
46b95a:	ff 15 f8 7d 4a 00    	call   *0x4a7df8
46b960:	50                   	push   %eax
46b961:	ff 15 b8 76 4a 00    	call   *0x4a76b8
46b967:	85 c0                	test   %eax,%eax
46b969:	74 4a                	je     0x46b9b5
46b96b:	8d 8d 44 ff ff ff    	lea    -0xbc(%ebp),%ecx
46b971:	51                   	push   %ecx
46b972:	6a 5c                	push   $0x5c
46b974:	ff 70 04             	push   0x4(%eax)
46b977:	ff 15 20 71 4a 00    	call   *0x4a7120
46b97d:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
46b983:	50                   	push   %eax
46b984:	ff 15 94 70 4a 00    	call   *0x4a7094
46b98a:	50                   	push   %eax
46b98b:	8d 8b b0 02 00 00    	lea    0x2b0(%ebx),%ecx
46b991:	ff 15 8c 75 4a 00    	call   *0x4a758c
46b997:	8d 83 b0 02 00 00    	lea    0x2b0(%ebx),%eax
46b99d:	85 c0                	test   %eax,%eax
46b99f:	74 03                	je     0x46b9a4
46b9a1:	8b 40 04             	mov    0x4(%eax),%eax
46b9a4:	6a 01                	push   $0x1
46b9a6:	50                   	push   %eax
46b9a7:	6a 30                	push   $0x30
46b9a9:	ff b3 fc 00 00 00    	push   0xfc(%ebx)
46b9af:	ff 15 f8 7d 4a 00    	call   *0x4a7df8
46b9b5:	8b cb                	mov    %ebx,%ecx
46b9b7:	e8 ff 0a 00 00       	call   0x46c4bb
46b9bc:	85 ff                	test   %edi,%edi
46b9be:	0f 84 86 02 00 00    	je     0x46bc4a
46b9c4:	8b bb 7c 02 00 00    	mov    0x27c(%ebx),%edi
46b9ca:	8d 8d 08 ff ff ff    	lea    -0xf8(%ebp),%ecx
46b9d0:	6a 01                	push   $0x1
46b9d2:	51                   	push   %ecx
46b9d3:	8b 07                	mov    (%edi),%eax
46b9d5:	8b 70 08             	mov    0x8(%eax),%esi
46b9d8:	8b ce                	mov    %esi,%ecx
46b9da:	ff 15 2c 81 4a 00    	call   *0x4a812c
46b9e0:	8b cf                	mov    %edi,%ecx
46b9e2:	ff d6                	call   *%esi
46b9e4:	8b 95 20 ff ff ff    	mov    -0xe0(%ebp),%edx
46b9ea:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
46b9f0:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
46b9f4:	89 4d d0             	mov    %ecx,-0x30(%ebp)
46b9f7:	8d 34 12             	lea    (%edx,%edx,1),%esi
46b9fa:	89 75 d4             	mov    %esi,-0x2c(%ebp)
46b9fd:	89 b5 30 ff ff ff    	mov    %esi,-0xd0(%ebp)
46ba03:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
46ba09:	03 f1                	add    %ecx,%esi
46ba0b:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
46ba11:	2b ca                	sub    %edx,%ecx
46ba13:	89 75 d8             	mov    %esi,-0x28(%ebp)
46ba16:	68 04 d0 00 00       	push   $0xd004
46ba1b:	53                   	push   %ebx
46ba1c:	8d 55 d0             	lea    -0x30(%ebp),%edx
46ba1f:	89 4d dc             	mov    %ecx,-0x24(%ebp)
46ba22:	52                   	push   %edx
46ba23:	ff 30                	push   (%eax)
46ba25:	89 8d 18 ff ff ff    	mov    %ecx,-0xe8(%ebp)
46ba2b:	8d 8b 1c 01 00 00    	lea    0x11c(%ebx),%ecx
46ba31:	e8 45 14 00 00       	call   0x46ce7b
46ba36:	8d 8d 08 ff ff ff    	lea    -0xf8(%ebp),%ecx
46ba3c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
46ba40:	8b f8                	mov    %eax,%edi
46ba42:	ff 15 1c 74 4a 00    	call   *0x4a741c
46ba48:	03 b5 3c ff ff ff    	add    -0xc4(%ebp),%esi
46ba4e:	8d 83 1c 01 00 00    	lea    0x11c(%ebx),%eax
46ba54:	83 bb a8 02 00 00 00 	cmpl   $0x0,0x2a8(%ebx)
46ba5b:	75 06                	jne    0x46ba63
46ba5d:	89 83 a8 02 00 00    	mov    %eax,0x2a8(%ebx)
46ba63:	89 83 ac 02 00 00    	mov    %eax,0x2ac(%ebx)
46ba69:	85 ff                	test   %edi,%edi
46ba6b:	0f 84 d9 01 00 00    	je     0x46bc4a
46ba71:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
46ba77:	8d 4d c0             	lea    -0x40(%ebp),%ecx
46ba7a:	68 06 d0 00 00       	push   $0xd006
46ba7f:	53                   	push   %ebx
46ba80:	51                   	push   %ecx
46ba81:	89 75 c0             	mov    %esi,-0x40(%ebp)
46ba84:	8d 8b 2c 02 00 00    	lea    0x22c(%ebx),%ecx
46ba8a:	03 b5 2c ff ff ff    	add    -0xd4(%ebp),%esi
46ba90:	89 45 c4             	mov    %eax,-0x3c(%ebp)
46ba93:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
46ba99:	68 10 04 01 50       	push   $0x50010410
46ba9e:	89 75 c8             	mov    %esi,-0x38(%ebp)
46baa1:	89 45 cc             	mov    %eax,-0x34(%ebp)
46baa4:	ff 15 04 73 4a 00    	call   *0x4a7304
46baaa:	03 b5 3c ff ff ff    	add    -0xc4(%ebp),%esi
46bab0:	8b f8                	mov    %eax,%edi
46bab2:	6a 32                	push   $0x32
46bab4:	6a 01                	push   $0x1
46bab6:	68 05 04 00 00       	push   $0x405
46babb:	ff b3 4c 02 00 00    	push   0x24c(%ebx)
46bac1:	89 bd 2c ff ff ff    	mov    %edi,-0xd4(%ebp)
46bac7:	89 b5 40 ff ff ff    	mov    %esi,-0xc0(%ebp)
46bacd:	ff 15 f8 7d 4a 00    	call   *0x4a7df8
46bad3:	6a 00                	push   $0x0
46bad5:	6a 00                	push   $0x0
46bad7:	68 00 04 00 00       	push   $0x400
46badc:	ff b3 4c 02 00 00    	push   0x24c(%ebx)
46bae2:	ff 15 f8 7d 4a 00    	call   *0x4a7df8
46bae8:	89 83 78 02 00 00    	mov    %eax,0x278(%ebx)
46baee:	8d 83 80 02 00 00    	lea    0x280(%ebx),%eax
46baf4:	50                   	push   %eax
46baf5:	68 8c fc 40 00       	push   $0x40fc8c
46bafa:	6a 01                	push   $0x1
46bafc:	6a 00                	push   $0x0
46bafe:	68 4c f5 40 00       	push   $0x40f54c
46bb03:	ff 15 98 7e 4a 00    	call   *0x4a7e98
46bb09:	85 c0                	test   %eax,%eax
46bb0b:	0f 88 82 00 00 00    	js     0x46bb93
46bb11:	8b bb 7c 02 00 00    	mov    0x27c(%ebx),%edi
46bb17:	8d 8d 04 ff ff ff    	lea    -0xfc(%ebp),%ecx
46bb1d:	6a 04                	push   $0x4
46bb1f:	51                   	push   %ecx
46bb20:	8b 07                	mov    (%edi),%eax
46bb22:	8b 70 08             	mov    0x8(%eax),%esi
46bb25:	8b ce                	mov    %esi,%ecx
46bb27:	ff 15 2c 81 4a 00    	call   *0x4a812c
46bb2d:	8b cf                	mov    %edi,%ecx
46bb2f:	ff d6                	call   *%esi
46bb31:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
46bb35:	be 70 f7 40 00       	mov    $0x40f770,%esi
46bb3a:	ff 30                	push   (%eax)
46bb3c:	8b 8b 80 02 00 00    	mov    0x280(%ebx),%ecx
46bb42:	8b 85 1c ff ff ff    	mov    -0xe4(%ebp),%eax
46bb48:	83 ec 10             	sub    $0x10,%esp
46bb4b:	8b fc                	mov    %esp,%edi
46bb4d:	8b 19                	mov    (%ecx),%ebx
46bb4f:	6a 00                	push   $0x0