6585d0:	e8 17 01 df ff       	call   0x4486ec
6585d5:	eb 16                	jmp    0x6585ed
6585d7:	8b 45 fc             	mov    -0x4(%ebp),%eax
6585da:	8b 80 fc 02 00 00    	mov    0x2fc(%eax),%eax
6585e0:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
6585e4:	74 07                	je     0x6585ed
6585e6:	33 d2                	xor    %edx,%edx
6585e8:	e8 ff 00 df ff       	call   0x4486ec
6585ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
6585f0:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6585f6:	e8 ad 6b f8 ff       	call   0x5df1a8
6585fb:	66 8b 15 88 87 65 00 	mov    0x658788,%dx
658602:	66 3b d0             	cmp    %ax,%dx
658605:	0f 85 47 01 00 00    	jne    0x658752
65860b:	8b 45 fc             	mov    -0x4(%ebp),%eax
65860e:	80 b8 41 03 00 00 00 	cmpb   $0x0,0x341(%eax)
658615:	0f 84 37 01 00 00    	je     0x658752
65861b:	8b 45 fc             	mov    -0x4(%ebp),%eax
65861e:	8b 55 0c             	mov    0xc(%ebp),%edx
658621:	89 90 50 03 00 00    	mov    %edx,0x350(%eax)
658627:	8b 45 fc             	mov    -0x4(%ebp),%eax
65862a:	8b 55 08             	mov    0x8(%ebp),%edx
65862d:	89 90 54 03 00 00    	mov    %edx,0x354(%eax)
658633:	8b 45 fc             	mov    -0x4(%ebp),%eax
658636:	83 b8 58 03 00 00 00 	cmpl   $0x0,0x358(%eax)
65863d:	7e 46                	jle    0x658685
65863f:	8b 45 fc             	mov    -0x4(%ebp),%eax
658642:	8b 98 f4 02 00 00    	mov    0x2f4(%eax),%ebx
658648:	db 43 48             	fildl  0x48(%ebx)
65864b:	d8 35 8c 87 65 00    	fdivs  0x65878c
658651:	e8 6a a6 da ff       	call   0x402cc0
658656:	8b 55 0c             	mov    0xc(%ebp),%edx
658659:	2b d0                	sub    %eax,%edx
65865b:	8b c3                	mov    %ebx,%eax
65865d:	e8 b2 f8 de ff       	call   0x447f14
658662:	8b 45 fc             	mov    -0x4(%ebp),%eax
658665:	8b 98 f4 02 00 00    	mov    0x2f4(%eax),%ebx
65866b:	db 43 4c             	fildl  0x4c(%ebx)
65866e:	d8 35 8c 87 65 00    	fdivs  0x65878c
658674:	e8 47 a6 da ff       	call   0x402cc0
658679:	8b 55 08             	mov    0x8(%ebp),%edx
65867c:	2b d0                	sub    %eax,%edx
65867e:	8b c3                	mov    %ebx,%eax
658680:	e8 b3 f8 de ff       	call   0x447f38
658685:	8b 45 fc             	mov    -0x4(%ebp),%eax
658688:	8b 80 f4 02 00 00    	mov    0x2f4(%eax),%eax
65868e:	8b 10                	mov    (%eax),%edx
658690:	ff 52 7c             	call   *0x7c(%edx)
658693:	8b 45 fc             	mov    -0x4(%ebp),%eax
658696:	8b 90 50 03 00 00    	mov    0x350(%eax),%edx
65869c:	8b 45 fc             	mov    -0x4(%ebp),%eax
65869f:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6586a5:	e8 06 0b f8 ff       	call   0x5d91b0
6586aa:	8b d8                	mov    %eax,%ebx
6586ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
6586af:	8b 90 54 03 00 00    	mov    0x354(%eax),%edx
6586b5:	8b 45 fc             	mov    -0x4(%ebp),%eax
6586b8:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6586be:	e8 39 0b f8 ff       	call   0x5d91fc
6586c3:	8b f0                	mov    %eax,%esi
6586c5:	85 db                	test   %ebx,%ebx
6586c7:	7c 38                	jl     0x658701
6586c9:	85 f6                	test   %esi,%esi
6586cb:	7c 34                	jl     0x658701
6586cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
6586d0:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6586d6:	8b 10                	mov    (%eax),%edx
6586d8:	ff 92 d0 00 00 00    	call   *0xd0(%edx)
6586de:	8b 10                	mov    (%eax),%edx
6586e0:	ff 52 0c             	call   *0xc(%edx)
6586e3:	3b d8                	cmp    %eax,%ebx
6586e5:	7f 1a                	jg     0x658701
6586e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
6586ea:	8b 80 f0 02 00 00    	mov    0x2f0(%eax),%eax
6586f0:	8b 10                	mov    (%eax),%edx
6586f2:	ff 92 d0 00 00 00    	call   *0xd0(%edx)
6586f8:	8b 10                	mov    (%eax),%edx
6586fa:	ff 52 08             	call   *0x8(%edx)
6586fd:	3b f0                	cmp    %eax,%esi
6586ff:	7e 26                	jle    0x658727
658701:	8b 45 fc             	mov    -0x4(%ebp),%eax
658704:	8b 80 f4 02 00 00    	mov    0x2f4(%eax),%eax
65870a:	33 d2                	xor    %edx,%edx
65870c:	e8 db ff de ff       	call   0x4486ec
658711:	33 d2                	xor    %edx,%edx
658713:	8b 45 fc             	mov    -0x4(%ebp),%eax
658716:	e8 85 04 00 00       	call   0x658ba0
65871b:	33 d2                	xor    %edx,%edx
65871d:	8b 45 fc             	mov    -0x4(%ebp),%eax
658720:	e8 17 fc ff ff       	call   0x65833c
658725:	eb 2b                	jmp    0x658752
658727:	8b 45 fc             	mov    -0x4(%ebp),%eax
65872a:	8b 80 f4 02 00 00    	mov    0x2f4(%eax),%eax
658730:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
658734:	75 11                	jne    0x658747
658736:	b2 01                	mov    $0x1,%dl
658738:	e8 af ff de ff       	call   0x4486ec
65873d:	b2 01                	mov    $0x1,%dl
65873f:	8b 45 fc             	mov    -0x4(%ebp),%eax
658742:	e8 59 04 00 00       	call   0x658ba0
658747:	83 ca ff             	or     $0xffffffff,%edx
65874a:	8b 45 fc             	mov    -0x4(%ebp),%eax
65874d:	e8 ea fb ff ff       	call   0x65833c
658752:	33 c0                	xor    %eax,%eax
658754:	5a                   	pop    %edx
658755:	59                   	pop    %ecx
658756:	59                   	pop    %ecx
658757:	64 89 10             	mov    %edx,%fs:(%eax)
65875a:	eb 0a                	jmp    0x658766
65875c:	e9 f7 b7 da ff       	jmp    0x403f58
658761:	e8 5a bb da ff       	call   0x4042c0
658766:	5f                   	pop    %edi
658767:	5e                   	pop    %esi
658768:	5b                   	pop    %ebx
658769:	59                   	pop    %ecx
65876a:	59                   	pop    %ecx
65876b:	5d                   	pop    %ebp
65876c:	c2 08 00             	ret    $0x8
65876f:	00 20                	add    %ah,(%eax)
658771:	00 00                	add    %al,(%eax)
658773:	00 04 00             	add    %al,(%eax,%eax,1)
658776:	00 00                	add    %al,(%eax)
658778:	10 00                	adc    %al,(%eax)
65877a:	00 00                	add    %al,(%eax)
65877c:	08 00                	or     %al,(%eax)
65877e:	00 00                	add    %al,(%eax)
658780:	02 00                	add    (%eax),%al
658782:	00 00                	add    %al,(%eax)
658784:	01 00                	add    %eax,(%eax)
65878e:	00 40 55             	add    %al,0x55(%eax)
658791:	8b ec                	mov    %esp,%ebp
658793:	53                   	push   %ebx
658794:	56                   	push   %esi
658795:	57                   	push   %edi
658796:	8b d9                	mov    %ecx,%ebx
658798:	8b f0                	mov    %eax,%esi
65879a:	8b 7d 0c             	mov    0xc(%ebp),%edi
65879d:	33 d2                	xor    %edx,%edx
65879f:	55                   	push   %ebp
6587a0:	68 a6 8a 65 00       	push   $0x658aa6
6587a5:	64 ff 32             	push   %fs:(%edx)
6587a8:	64 89 22             	mov    %esp,%fs:(%edx)
6587ab:	c6 86 40 03 00 00 01 	movb   $0x1,0x340(%esi)
6587b2:	80 fb 02             	cmp    $0x2,%bl
6587b5:	75 14                	jne    0x6587cb
6587b7:	8b c6                	mov    %esi,%eax
6587b9:	e8 16 dd e0 ff       	call   0x4664d4
6587be:	33 c0                	xor    %eax,%eax
6587c0:	5a                   	pop    %edx
6587c1:	59                   	pop    %ecx
6587c2:	59                   	pop    %ecx
6587c3:	64 89 10             	mov    %edx,%fs:(%eax)
6587c6:	e9 e5 02 00 00       	jmp    0x658ab0
6587cb:	84 db                	test   %bl,%bl
6587cd:	75 13                	jne    0x6587e2
6587cf:	f6 45 10 40          	testb  $0x40,0x10(%ebp)
6587d3:	74 0d                	je     0x6587e2
6587d5:	33 c0                	xor    %eax,%eax
6587d7:	5a                   	pop    %edx
6587d8:	59                   	pop    %ecx
6587d9:	59                   	pop    %ecx
6587da:	64 89 10             	mov    %edx,%fs:(%eax)
6587dd:	e9 ce 02 00 00       	jmp    0x658ab0
6587e2:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
6587e8:	e8 bb 69 f8 ff       	call   0x5df1a8
6587ed:	66 8b 15 b8 8a 65 00 	mov    0x658ab8,%dx
6587f4:	66 3b d0             	cmp    %ax,%dx
6587f7:	74 1b                	je     0x658814
6587f9:	8b 86 f0 02 00 00    	mov    0x2f0(%esi),%eax
6587ff:	e8 a4 69 f8 ff       	call   0x5df1a8
658804:	66 8b 15 bc 8a 65 00 	mov    0x658abc,%dx
65880b:	66 3b d0             	cmp    %ax,%dx
65880e:	0f 85 88 02 00 00    	jne    0x658a9c
658814:	84 db                	test   %bl,%bl
658816:	0f 85 80 02 00 00    	jne    0x658a9c
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