65881c:	dd 86 48 03 00 00    	fldl   0x348(%esi)
658822:	d8 0d c0 8a 65 00    	fmuls  0x658ac0
658828:	8b 9e f0 02 00 00    	mov    0x2f0(%esi),%ebx
65882e:	dc 9b a0 03 00 00    	fcompl 0x3a0(%ebx)
658834:	df e0                	fnstsw %ax
658836:	9e                   	sahf
658837:	0f 82 4a 02 00 00    	jb     0x658a87
65883d:	8b d3                	mov    %ebx,%edx
65883f:	8b c6                	mov    %esi,%eax
658841:	e8 6e f8 ff ff       	call   0x6580b4
658846:	db 2d c4 8a 65 00    	fldt   0x658ac4
65884c:	de c1                	faddp  %st,%st(1)
65884e:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
658854:	dc 98 a0 03 00 00    	fcompl 0x3a0(%eax)
65885a:	df e0                	fnstsw %ax
65885c:	9e                   	sahf
65885d:	0f 82 24 02 00 00    	jb     0x658a87
658863:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
658869:	80 b8 15 04 00 00 00 	cmpb   $0x0,0x415(%eax)
658870:	74 7e                	je     0x6588f0
658872:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
658878:	8b d7                	mov    %edi,%edx
65887a:	e8 31 09 f8 ff       	call   0x5d91b0
65887f:	8b d8                	mov    %eax,%ebx
658881:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
658887:	e8 0c 07 f8 ff       	call   0x5d8f98
65888c:	3b d8                	cmp    %eax,%ebx
65888e:	7c 60                	jl     0x6588f0
658890:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
658896:	8b d7                	mov    %edi,%edx
658898:	e8 13 09 f8 ff       	call   0x5d91b0
65889d:	8b d8                	mov    %eax,%ebx
65889f:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
6588a5:	e8 76 07 f8 ff       	call   0x5d9020
6588aa:	3b d8                	cmp    %eax,%ebx
6588ac:	7f 42                	jg     0x6588f0
6588ae:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
6588b4:	8b 55 08             	mov    0x8(%ebp),%edx
6588b7:	e8 40 09 f8 ff       	call   0x5d91fc
6588bc:	8b d8                	mov    %eax,%ebx
6588be:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
6588c4:	e8 13 07 f8 ff       	call   0x5d8fdc
6588c9:	3b d8                	cmp    %eax,%ebx
6588cb:	7c 23                	jl     0x6588f0
6588cd:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
6588d3:	8b 55 08             	mov    0x8(%ebp),%edx
6588d6:	e8 21 09 f8 ff       	call   0x5d91fc
6588db:	8b d8                	mov    %eax,%ebx
6588dd:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
6588e3:	e8 7c 07 f8 ff       	call   0x5d9064
6588e8:	3b d8                	cmp    %eax,%ebx
6588ea:	0f 8e 97 01 00 00    	jle    0x658a87
6588f0:	83 ca ff             	or     $0xffffffff,%edx
6588f3:	8b c6                	mov    %esi,%eax
6588f5:	e8 42 fa ff ff       	call   0x65833c
6588fa:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
658900:	66 8b 15 b8 8a 65 00 	mov    0x658ab8,%dx
658907:	8b 08                	mov    (%eax),%ecx
658909:	ff 91 04 01 00 00    	call   *0x104(%ecx)
65890f:	c6 86 41 03 00 00 01 	movb   $0x1,0x341(%esi)
658916:	89 be 50 03 00 00    	mov    %edi,0x350(%esi)
65891c:	8b 45 08             	mov    0x8(%ebp),%eax
65891f:	89 86 54 03 00 00    	mov    %eax,0x354(%esi)
658925:	8b 86 f4 02 00 00    	mov    0x2f4(%esi),%eax
65892b:	33 d2                	xor    %edx,%edx
65892d:	e8 86 f3 de ff       	call   0x447cb8
658932:	8b 86 58 03 00 00    	mov    0x358(%esi),%eax
658938:	85 c0                	test   %eax,%eax
65893a:	75 0f                	jne    0x65894b
65893c:	8b 86 f4 02 00 00    	mov    0x2f4(%esi),%eax
658942:	b2 05                	mov    $0x5,%dl
658944:	e8 6f f3 de ff       	call   0x447cb8
658949:	eb 1e                	jmp    0x658969
65894b:	8b d0                	mov    %eax,%edx
65894d:	8b 86 f4 02 00 00    	mov    0x2f4(%esi),%eax
658953:	e8 08 f6 de ff       	call   0x447f60
658958:	8b 96 58 03 00 00    	mov    0x358(%esi),%edx
65895e:	8b 86 f4 02 00 00    	mov    0x2f4(%esi),%eax
658964:	e8 1b f6 de ff       	call   0x447f84
658969:	80 be 70 03 00 00 00 	cmpb   $0x0,0x370(%esi)
658970:	75 2d                	jne    0x65899f
658972:	8b c6                	mov    %esi,%eax
658974:	e8 af 07 00 00       	call   0x659128
658979:	d8 1d d0 8a 65 00    	fcomps 0x658ad0
65897f:	df e0                	fnstsw %ax
658981:	9e                   	sahf
658982:	77 12                	ja     0x658996
658984:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
65898a:	8b 10                	mov    (%eax),%edx
65898c:	ff 92 d8 00 00 00    	call   *0xd8(%edx)
658992:	84 c0                	test   %al,%al
658994:	74 09                	je     0x65899f
658996:	33 d2                	xor    %edx,%edx
658998:	8b c6                	mov    %esi,%eax
65899a:	e8 dd 08 00 00       	call   0x65927c
65899f:	8b 9e f4 02 00 00    	mov    0x2f4(%esi),%ebx
6589a5:	db 43 48             	fildl  0x48(%ebx)
6589a8:	d8 35 d4 8a 65 00    	fdivs  0x658ad4
6589ae:	e8 0d a3 da ff       	call   0x402cc0
6589b3:	8b d7                	mov    %edi,%edx
6589b5:	2b d0                	sub    %eax,%edx
6589b7:	8b c3                	mov    %ebx,%eax
6589b9:	e8 56 f5 de ff       	call   0x447f14
6589be:	8b 9e f4 02 00 00    	mov    0x2f4(%esi),%ebx
6589c4:	db 43 4c             	fildl  0x4c(%ebx)
6589c7:	d8 35 d4 8a 65 00    	fdivs  0x658ad4
6589cd:	e8 ee a2 da ff       	call   0x402cc0
6589d2:	8b 55 08             	mov    0x8(%ebp),%edx
6589d5:	2b d0                	sub    %eax,%edx
6589d7:	8b c3                	mov    %ebx,%eax
6589d9:	e8 5a f5 de ff       	call   0x447f38
6589de:	8b 9e f4 02 00 00    	mov    0x2f4(%esi),%ebx
6589e4:	80 7b 5b 05          	cmpb   $0x5,0x5b(%ebx)
6589e8:	74 16                	je     0x658a00
6589ea:	a1 b0 6d 6a 00       	mov    0x6a6db0,%eax
6589ef:	8b 00                	mov    (%eax),%eax
6589f1:	8b 80 98 04 00 00    	mov    0x498(%eax),%eax
6589f7:	83 b8 68 01 00 00 00 	cmpl   $0x0,0x168(%eax)
6589fe:	75 13                	jne    0x658a13
658a00:	6a ff                	push   $0xffffffff
658a02:	6a 00                	push   $0x0
658a04:	8b c3                	mov    %ebx,%eax
658a06:	e8 49 65 df ff       	call   0x44ef54
658a0b:	50                   	push   %eax
658a0c:	e8 e7 f3 da ff       	call   0x407df8
658a11:	eb 5c                	jmp    0x658a6f
658a13:	a1 b0 6d 6a 00       	mov    0x6a6db0,%eax
658a18:	8b 00                	mov    (%eax),%eax
658a1a:	8b 80 98 04 00 00    	mov    0x498(%eax),%eax
658a20:	83 b8 68 01 00 00 01 	cmpl   $0x1,0x168(%eax)
658a27:	75 19                	jne    0x658a42
658a29:	6a 12                	push   $0x12
658a2b:	6a 12                	push   $0x12
658a2d:	8b 43 4c             	mov    0x4c(%ebx),%eax
658a30:	50                   	push   %eax
658a31:	8b 43 48             	mov    0x48(%ebx),%eax
658a34:	50                   	push   %eax
658a35:	6a 00                	push   $0x0
658a37:	6a 00                	push   $0x0
658a39:	e8 b2 ea da ff       	call   0x4074f0
658a3e:	8b d8                	mov    %eax,%ebx
658a40:	eb 13                	jmp    0x658a55
658a42:	8b 43 4c             	mov    0x4c(%ebx),%eax
658a45:	50                   	push   %eax
658a46:	8b 43 48             	mov    0x48(%ebx),%eax
658a49:	50                   	push   %eax
658a4a:	6a 00                	push   $0x0
658a4c:	6a 00                	push   $0x0
658a4e:	e8 3d ea da ff       	call   0x407490
658a53:	8b d8                	mov    %eax,%ebx
658a55:	6a ff                	push   $0xffffffff
658a57:	53                   	push   %ebx
658a58:	8b 86 f4 02 00 00    	mov    0x2f4(%esi),%eax
658a5e:	e8 f1 64 df ff       	call   0x44ef54
658a63:	50                   	push   %eax
658a64:	e8 8f f3 da ff       	call   0x407df8
658a69:	53                   	push   %ebx
658a6a:	e8 a1 ea da ff       	call   0x407510
658a6f:	8b 86 f4 02 00 00    	mov    0x2f4(%esi),%eax
658a75:	b2 01                	mov    $0x1,%dl
658a77:	e8 70 fc de ff       	call   0x4486ec
658a7c:	b2 01                	mov    $0x1,%dl
658a7e:	8b c6                	mov    %esi,%eax
658a80:	e8 1b 01 00 00       	call   0x658ba0
658a85:	eb 15                	jmp    0x658a9c
658a87:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
658a8d:	66 8b 15 bc 8a 65 00 	mov    0x658abc,%dx
658a94:	8b 08                	mov    (%eax),%ecx
658a96:	ff 91 04 01 00 00    	call   *0x104(%ecx)
658a9c:	33 c0                	xor    %eax,%eax
658a9e:	5a                   	pop    %edx
658a9f:	59                   	pop    %ecx
658aa0:	59                   	pop    %ecx
658aa1:	64 89 10             	mov    %edx,%fs:(%eax)
658aa4:	eb 0a                	jmp    0x658ab0
658aa6:	e9 ad b4 da ff       	jmp    0x403f58
658aab:	e8 10 b8 da ff       	call   0x4042c0
658ab0:	5f                   	pop    %edi
658ab1:	5e                   	pop    %esi
658ab2:	5b                   	pop    %ebx
658ab3:	5d                   	pop    %ebp
658ab4:	c2 0c 00             	ret    $0xc
658ab7:	00 00                	add    %al,(%eax)
658ab9:	00 00                	add    %al,(%eax)
658abb:	00 02                	add    %al,(%edx)
658abd:	00 00                	add    %al,(%eax)
658abf:	00 00                	add    %al,(%eax)
658ac1:	00 c8                	add    %cl,%al
658ac3:	42                   	inc    %edx
658ac4:	23 84 47 1b 47 ac c5 	and    -0x3a53b8e5(%edi,%eax,2),%eax
658acb:	a7                   	cmpsl  %es:(%edi),%ds:(%esi)
658acc:	ee                   	out    %al,(%dx)
658acd:	3f                   	aas
658ace:	00 00                	add    %al,(%eax)
658ad0:	00 00                	add    %al,(%eax)
658ad2:	80 3f 00             	cmpb   $0x0,(%edi)
658ad5:	00 00                	add    %al,(%eax)
658ad7:	40                   	inc    %eax
658ad8:	55                   	push   %ebp
658ad9:	8b ec                	mov    %esp,%ebp
658adb:	53                   	push   %ebx
658adc:	56                   	push   %esi
658add:	57                   	push   %edi
658ade:	8b d9                	mov    %ecx,%ebx
658ae0:	8b f0                	mov    %eax,%esi
658ae2:	8b 45 10             	mov    0x10(%ebp),%eax
658ae5:	33 d2                	xor    %edx,%edx
658ae7:	55                   	push   %ebp
658ae8:	68 89 8b 65 00       	push   $0x658b89
658aed:	64 ff 32             	push   %fs:(%edx)
658af0:	64 89 22             	mov    %esp,%fs:(%edx)
658af3:	c6 86 40 03 00 00 00 	movb   $0x0,0x340(%esi)
658afa:	a8 01                	test   $0x1,%al
658afc:	75 19                	jne    0x658b17
658afe:	a8 04                	test   $0x4,%al
658b00:	75 15                	jne    0x658b17
658b02:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
658b08:	66 8b 15 9c 8b 65 00 	mov    0x658b9c,%dx
658b0f:	8b 08                	mov    (%eax),%ecx
658b11:	ff 91 04 01 00 00    	call   *0x104(%ecx)
658b17:	8b c6                	mov    %esi,%eax
658b19:	e8 b2 f6 ff ff       	call   0x6581d0
658b1e:	c6 86 41 03 00 00 00 	movb   $0x0,0x341(%esi)
658b25:	8b 86 f4 02 00 00    	mov    0x2f4(%esi),%eax
658b2b:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
658b2f:	74 38                	je     0x658b69
658b31:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
658b37:	e8 6c 66 f8 ff       	call   0x5df1a8
658b3c:	66 8b 15 9c 8b 65 00 	mov    0x658b9c,%dx
658b43:	66 3b d0             	cmp    %ax,%dx
658b46:	75 0b                	jne    0x658b53
658b48:	66 ba ca 04          	mov    $0x4ca,%dx
658b4c:	8b c6                	mov    %esi,%eax
658b4e:	e8 e9 f7 ff ff       	call   0x65833c
658b53:	8b 86 f4 02 00 00    	mov    0x2f4(%esi),%eax
658b59:	33 d2                	xor    %edx,%edx
658b5b:	e8 8c fb de ff       	call   0x4486ec
658b60:	33 d2                	xor    %edx,%edx
658b62:	8b c6                	mov    %esi,%eax
658b64:	e8 37 00 00 00       	call   0x658ba0
658b69:	80 fb 01             	cmp    $0x1,%bl
658b6c:	75 11                	jne    0x658b7f
658b6e:	8b c6                	mov    %esi,%eax
658b70:	e8 5f d9 e0 ff       	call   0x4664d4
658b75:	33 c0                	xor    %eax,%eax
658b77:	5a                   	pop    %edx
658b78:	59                   	pop    %ecx
658b79:	59                   	pop    %ecx
658b7a:	64 89 10             	mov    %edx,%fs:(%eax)
658b7d:	eb 14                	jmp    0x658b93
658b7f:	33 c0                	xor    %eax,%eax
658b81:	5a                   	pop    %edx
658b82:	59                   	pop    %ecx
658b83:	59                   	pop    %ecx
658b84:	64 89 10             	mov    %edx,%fs:(%eax)
658b87:	eb 0a                	jmp    0x658b93
658b89:	e9 ca b3 da ff       	jmp    0x403f58
658b8e:	e8 2d b7 da ff       	call   0x4042c0
658b93:	5f                   	pop    %edi
658b94:	5e                   	pop    %esi
658b95:	5b                   	pop    %ebx
658b96:	5d                   	pop    %ebp
658b97:	c2 0c 00             	ret    $0xc
658b9a:	00 00                	add    %al,(%eax)
658b9c:	00 00                	add    %al,(%eax)
658b9e:	00 00                	add    %al,(%eax)
658ba0:	55                   	push   %ebp
658ba1:	8b ec                	mov    %esp,%ebp
658ba3:	83 c4 dc             	add    $0xffffffdc,%esp
658ba6:	53                   	push   %ebx
658ba7:	56                   	push   %esi
658ba8:	57                   	push   %edi
658ba9:	88 55 ff             	mov    %dl,-0x1(%ebp)
658bac:	8b d8                	mov    %eax,%ebx
658bae:	33 c0                	xor    %eax,%eax
658bb0:	55                   	push   %ebp
658bb1:	68 97 8c 65 00       	push   $0x658c97
658bb6:	64 ff 30             	push   %fs:(%eax)
658bb9:	64 89 20             	mov    %esp,%fs:(%eax)
658bbc:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
658bc0:	0f 84 c0 00 00 00    	je     0x658c86
658bc6:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
658bcc:	8b 10                	mov    (%eax),%edx
658bce:	ff 92 24 01 00 00    	call   *0x124(%edx)
658bd4:	84 c0                	test   %al,%al
658bd6:	0f 85 aa 00 00 00    	jne    0x658c86
658bdc:	8d 4d ec             	lea    -0x14(%ebp),%ecx
658bdf:	33 d2                	xor    %edx,%edx
658be1:	33 c0                	xor    %eax,%eax
658be3:	e8 64 1a dc ff       	call   0x41a64c
658be8:	8d 55 ec             	lea    -0x14(%ebp),%edx
658beb:	8d 4d f7             	lea    -0x9(%ebp),%ecx
658bee:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
658bf4:	e8 eb f6 de ff       	call   0x4482e4
658bf9:	8b bb f0 02 00 00    	mov    0x2f0(%ebx),%edi
658bff:	8b c7                	mov    %edi,%eax
658c01:	8b 10                	mov    (%eax),%edx
658c03:	ff 92 d0 00 00 00    	call   *0xd0(%edx)
658c09:	8b 10                	mov    (%eax),%edx
658c0b:	ff 52 08             	call   *0x8(%edx)
658c0e:	8b d0                	mov    %eax,%edx
658c10:	4a                   	dec    %edx
658c11:	8b c7                	mov    %edi,%eax
658c13:	e8 14 05 f8 ff       	call   0x5d912c
658c18:	03 45 fb             	add    -0x5(%ebp),%eax
658c1b:	50                   	push   %eax
658c1c:	8d 45 dc             	lea    -0x24(%ebp),%eax
658c1f:	50                   	push   %eax
658c20:	8b b3 f0 02 00 00    	mov    0x2f0(%ebx),%esi
658c26:	8b c6                	mov    %esi,%eax
658c28:	8b 10                	mov    (%eax),%edx
658c2a:	ff 92 d0 00 00 00    	call   *0xd0(%edx)
658c30:	8b 10                	mov    (%eax),%edx
658c32:	ff 52 0c             	call   *0xc(%edx)
658c35:	8b d0                	mov    %eax,%edx
658c37:	4a                   	dec    %edx
658c38:	8b c6                	mov    %esi,%eax
658c3a:	e8 69 04 f8 ff       	call   0x5d90a8
658c3f:	03 45 f7             	add    -0x9(%ebp),%eax
658c42:	50                   	push   %eax
658c43:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
658c49:	33 d2                	xor    %edx,%edx
658c4b:	e8 dc 04 f8 ff       	call   0x5d912c
658c50:	03 45 fb             	add    -0x5(%ebp),%eax
658c53:	50                   	push   %eax
658c54:	8b 83 f0 02 00 00    	mov    0x2f0(%ebx),%eax
658c5a:	33 d2                	xor    %edx,%edx
658c5c:	e8 47 04 f8 ff       	call   0x5d90a8
658c61:	03 45 f7             	add    -0x9(%ebp),%eax
658c64:	5a                   	pop    %edx
658c65:	59                   	pop    %ecx
658c66:	e8 09 1a dc ff       	call   0x41a674
658c6b:	8d 75 dc             	lea    -0x24(%ebp),%esi
658c6e:	8d bb 5c 03 00 00    	lea    0x35c(%ebx),%edi
658c74:	a5                   	movsl  %ds:(%esi),%es:(%edi)
658c75:	a5                   	movsl  %ds:(%esi),%es:(%edi)
658c76:	a5                   	movsl  %ds:(%esi),%es:(%edi)
658c77:	a5                   	movsl  %ds:(%esi),%es:(%edi)
658c78:	8d 83 5c 03 00 00    	lea    0x35c(%ebx),%eax
658c7e:	50                   	push   %eax
658c7f:	e8 e4 eb da ff       	call   0x407868
658c84:	eb 07                	jmp    0x658c8d
658c86:	6a 00                	push   $0x0
658c88:	e8 db eb da ff       	call   0x407868
658c8d:	33 c0                	xor    %eax,%eax
658c8f:	5a                   	pop    %edx
658c90:	59                   	pop    %ecx
658c91:	59                   	pop    %ecx
658c92:	64 89 10             	mov    %edx,%fs:(%eax)
658c95:	eb 0a                	jmp    0x658ca1