610679:	88 04 17             	mov    %al,(%edi,%edx,1)
61067c:	83 ef 01             	sub    $0x1,%edi
61067f:	75 ef                	jne    0x610670
610681:	8b 45 10             	mov    0x10(%ebp),%eax
610684:	0a cb                	or     %bl,%cl
610686:	88 0a                	mov    %cl,(%edx)
610688:	33 c9                	xor    %ecx,%ecx
61068a:	5f                   	pop    %edi
61068b:	89 08                	mov    %ecx,(%eax)
61068d:	89 48 04             	mov    %ecx,0x4(%eax)
610690:	8d 46 01             	lea    0x1(%esi),%eax
610693:	eb 09                	jmp    0x61069e
610695:	ff 75 10             	push   0x10(%ebp)
610698:	e8 05 00 00 00       	call   0x6106a2
61069d:	59                   	pop    %ecx
61069e:	5e                   	pop    %esi
61069f:	5b                   	pop    %ebx
6106a0:	5d                   	pop    %ebp
6106a1:	c3                   	ret
6106a2:	8b ff                	mov    %edi,%edi
6106a4:	55                   	push   %ebp
6106a5:	8b ec                	mov    %esp,%ebp
6106a7:	8b 45 08             	mov    0x8(%ebp),%eax
6106aa:	83 20 00             	andl   $0x0,(%eax)
6106ad:	83 60 04 00          	andl   $0x0,0x4(%eax)
6106b1:	e8 43 c9 fd ff       	call   0x5ecff9
6106b6:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
6106bc:	83 c8 ff             	or     $0xffffffff,%eax
6106bf:	5d                   	pop    %ebp
6106c0:	c3                   	ret
6106c1:	8b ff                	mov    %edi,%edi
6106c3:	55                   	push   %ebp
6106c4:	8b ec                	mov    %esp,%ebp
6106c6:	5d                   	pop    %ebp
6106c7:	e9 2b ff ff ff       	jmp    0x6105f7
6106cc:	8b ff                	mov    %edi,%edi
6106ce:	55                   	push   %ebp
6106cf:	8b ec                	mov    %esp,%ebp
6106d1:	8b 55 08             	mov    0x8(%ebp),%edx
6106d4:	56                   	push   %esi
6106d5:	85 d2                	test   %edx,%edx
6106d7:	75 16                	jne    0x6106ef
6106d9:	e8 1b c9 fd ff       	call   0x5ecff9
6106de:	6a 16                	push   $0x16
6106e0:	5e                   	pop    %esi
6106e1:	89 30                	mov    %esi,(%eax)
6106e3:	e8 37 c8 fd ff       	call   0x5ecf1f
6106e8:	8b c6                	mov    %esi,%eax
6106ea:	e9 9a 00 00 00       	jmp    0x610789
6106ef:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
6106f3:	76 e4                	jbe    0x6106d9
6106f5:	8b 4d 10             	mov    0x10(%ebp),%ecx
6106f8:	c6 02 00             	movb   $0x0,(%edx)
6106fb:	85 c9                	test   %ecx,%ecx
6106fd:	7e 04                	jle    0x610703
6106ff:	8b c1                	mov    %ecx,%eax
610701:	eb 02                	jmp    0x610705
610703:	33 c0                	xor    %eax,%eax
610705:	40                   	inc    %eax
610706:	39 45 0c             	cmp    %eax,0xc(%ebp)
610709:	77 09                	ja     0x610714
61070b:	e8 e9 c8 fd ff       	call   0x5ecff9
610710:	6a 22                	push   $0x22
610712:	eb cc                	jmp    0x6106e0
610714:	8b 75 14             	mov    0x14(%ebp),%esi
610717:	85 f6                	test   %esi,%esi
610719:	74 be                	je     0x6106d9
61071b:	53                   	push   %ebx
61071c:	8d 5a 01             	lea    0x1(%edx),%ebx
61071f:	8b c3                	mov    %ebx,%eax
610721:	57                   	push   %edi
610722:	8b 7e 08             	mov    0x8(%esi),%edi
610725:	c6 02 30             	movb   $0x30,(%edx)
610728:	85 c9                	test   %ecx,%ecx
61072a:	7e 16                	jle    0x610742
61072c:	8a 1f                	mov    (%edi),%bl
61072e:	84 db                	test   %bl,%bl
610730:	74 03                	je     0x610735
610732:	47                   	inc    %edi
610733:	eb 02                	jmp    0x610737
610735:	b3 30                	mov    $0x30,%bl
610737:	88 18                	mov    %bl,(%eax)
610739:	40                   	inc    %eax
61073a:	49                   	dec    %ecx
61073b:	85 c9                	test   %ecx,%ecx
61073d:	7f ed                	jg     0x61072c
61073f:	8d 5a 01             	lea    0x1(%edx),%ebx
610742:	c6 00 00             	movb   $0x0,(%eax)
610745:	85 c9                	test   %ecx,%ecx
610747:	78 16                	js     0x61075f
610749:	80 3f 35             	cmpb   $0x35,(%edi)
61074c:	7c 11                	jl     0x61075f
61074e:	eb 03                	jmp    0x610753
610750:	c6 00 30             	movb   $0x30,(%eax)
610753:	48                   	dec    %eax
610754:	8a 08                	mov    (%eax),%cl
610756:	80 f9 39             	cmp    $0x39,%cl
610759:	74 f5                	je     0x610750
61075b:	fe c1                	inc    %cl
61075d:	88 08                	mov    %cl,(%eax)
61075f:	80 3a 31             	cmpb   $0x31,(%edx)
610762:	75 05                	jne    0x610769
610764:	ff 46 04             	incl   0x4(%esi)
610767:	eb 1c                	jmp    0x610785
610769:	8b cb                	mov    %ebx,%ecx
61076b:	8d 71 01             	lea    0x1(%ecx),%esi
61076e:	8a 01                	mov    (%ecx),%al
610770:	41                   	inc    %ecx
610771:	84 c0                	test   %al,%al
610773:	75 f9                	jne    0x61076e
610775:	2b ce                	sub    %esi,%ecx
610777:	8d 41 01             	lea    0x1(%ecx),%eax
61077a:	50                   	push   %eax
61077b:	53                   	push   %ebx
61077c:	52                   	push   %edx
61077d:	e8 fe 2c fd ff       	call   0x5e3480
610782:	83 c4 0c             	add    $0xc,%esp
610785:	5f                   	pop    %edi
610786:	33 c0                	xor    %eax,%eax
610788:	5b                   	pop    %ebx
610789:	5e                   	pop    %esi
61078a:	5d                   	pop    %ebp
61078b:	c3                   	ret
61078c:	8b ff                	mov    %edi,%edi
61078e:	55                   	push   %ebp
61078f:	8b ec                	mov    %esp,%ebp
610791:	81 ec 64 09 00 00    	sub    $0x964,%esp
610797:	a1 d4 89 72 00       	mov    0x7289d4,%eax
61079c:	33 c5                	xor    %ebp,%eax
61079e:	89 45 fc             	mov    %eax,-0x4(%ebp)
6107a1:	8b 45 14             	mov    0x14(%ebp),%eax
6107a4:	89 85 80 f8 ff ff    	mov    %eax,-0x780(%ebp)
6107aa:	8b 45 18             	mov    0x18(%ebp),%eax
6107ad:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
6107b3:	8d 85 6c f8 ff ff    	lea    -0x794(%ebp),%eax
6107b9:	50                   	push   %eax
6107ba:	e8 f5 22 00 00       	call   0x612ab4
6107bf:	8b 85 6c f8 ff ff    	mov    -0x794(%ebp),%eax
6107c5:	83 e0 1f             	and    $0x1f,%eax
6107c8:	59                   	pop    %ecx
6107c9:	3c 1f                	cmp    $0x1f,%al
6107cb:	75 09                	jne    0x6107d6
6107cd:	c6 85 74 f8 ff ff 00 	movb   $0x0,-0x78c(%ebp)
6107d4:	eb 14                	jmp    0x6107ea
6107d6:	8d 85 6c f8 ff ff    	lea    -0x794(%ebp),%eax
6107dc:	50                   	push   %eax
6107dd:	e8 3a 23 00 00       	call   0x612b1c
6107e2:	59                   	pop    %ecx
6107e3:	c6 85 74 f8 ff ff 01 	movb   $0x1,-0x78c(%ebp)
6107ea:	53                   	push   %ebx
6107eb:	8b 5d 08             	mov    0x8(%ebp),%ebx
6107ee:	56                   	push   %esi
6107ef:	8b 75 0c             	mov    0xc(%ebp),%esi
6107f2:	57                   	push   %edi
6107f3:	6a 20                	push   $0x20
6107f5:	5f                   	pop    %edi
6107f6:	85 f6                	test   %esi,%esi
6107f8:	7f 0b                	jg     0x610805
6107fa:	7c 04                	jl     0x610800
6107fc:	85 db                	test   %ebx,%ebx
6107fe:	73 05                	jae    0x610805
610800:	6a 2d                	push   $0x2d
610802:	58                   	pop    %eax
610803:	eb 02                	jmp    0x610807
610805:	8b c7                	mov    %edi,%eax
610807:	8b 8d 80 f8 ff ff    	mov    -0x780(%ebp),%ecx
61080d:	8b 95 94 f8 ff ff    	mov    -0x76c(%ebp),%edx
610813:	89 01                	mov    %eax,(%ecx)
610815:	33 c0                	xor    %eax,%eax
610817:	89 51 08             	mov    %edx,0x8(%ecx)
61081a:	8b ce                	mov    %esi,%ecx
61081c:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
610822:	0b c1                	or     %ecx,%eax
610824:	75 26                	jne    0x61084c
610826:	8b ce                	mov    %esi,%ecx
610828:	8b c3                	mov    %ebx,%eax
61082a:	81 e1 ff ff 0f 00    	and    $0xfffff,%ecx
610830:	0b c1                	or     %ecx,%eax
610832:	75 18                	jne    0x61084c
610834:	8b 85 80 f8 ff ff    	mov    -0x780(%ebp),%eax
61083a:	68 84 c7 68 00       	push   $0x68c784
61083f:	ff 75 1c             	push   0x1c(%ebp)
610842:	83 60 04 00          	andl   $0x0,0x4(%eax)
610846:	52                   	push   %edx
610847:	e9 68 12 00 00       	jmp    0x611ab4
61084c:	8d 45 08             	lea    0x8(%ebp),%eax
61084f:	50                   	push   %eax
610850:	e8 c2 58 ff ff       	call   0x606117
610855:	59                   	pop    %ecx
610856:	85 c0                	test   %eax,%eax
610858:	74 0d                	je     0x610867
61085a:	8b 8d 80 f8 ff ff    	mov    -0x780(%ebp),%ecx
610860:	c7 41 04 01 00 00 00 	movl   $0x1,0x4(%ecx)
610867:	83 e8 01             	sub    $0x1,%eax
61086a:	0f 84 52 12 00 00    	je     0x611ac2
610870:	83 e8 01             	sub    $0x1,%eax
610873:	0f 84 2c 12 00 00    	je     0x611aa5
610879:	83 e8 01             	sub    $0x1,%eax
61087c:	0f 84 1c 12 00 00    	je     0x611a9e
610882:	83 e8 01             	sub    $0x1,%eax
610885:	0f 84 0c 12 00 00    	je     0x611a97
61088b:	8b 45 10             	mov    0x10(%ebp),%eax
61088e:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
610894:	83 a5 7c f8 ff ff 00 	andl   $0x0,-0x784(%ebp)
61089b:	40                   	inc    %eax
61089c:	89 75 0c             	mov    %esi,0xc(%ebp)
61089f:	89 5d 08             	mov    %ebx,0x8(%ebp)
6108a2:	dd 45 08             	fldl   0x8(%ebp)
6108a5:	dd 95 88 f8 ff ff    	fstl   -0x778(%ebp)
6108ab:	8b b5 8c f8 ff ff    	mov    -0x774(%ebp),%esi
6108b1:	8b ce                	mov    %esi,%ecx
6108b3:	89 85 84 f8 ff ff    	mov    %eax,-0x77c(%ebp)
6108b9:	c1 e9 14             	shr    $0x14,%ecx
6108bc:	8b c1                	mov    %ecx,%eax
6108be:	25 ff 07 00 00       	and    $0x7ff,%eax
6108c3:	83 c8 00             	or     $0x0,%eax
6108c6:	75 07                	jne    0x6108cf
6108c8:	33 db                	xor    %ebx,%ebx
6108ca:	33 d2                	xor    %edx,%edx
6108cc:	43                   	inc    %ebx
6108cd:	eb 09                	jmp    0x6108d8
6108cf:	33 c0                	xor    %eax,%eax
6108d1:	ba 00 00 10 00       	mov    $0x100000,%edx
6108d6:	33 db                	xor    %ebx,%ebx
6108d8:	8b bd 88 f8 ff ff    	mov    -0x778(%ebp),%edi
6108de:	81 e6 ff ff 0f 00    	and    $0xfffff,%esi
6108e4:	03 f8                	add    %eax,%edi
6108e6:	89 bd a4 f8 ff ff    	mov    %edi,-0x75c(%ebp)
6108ec:	13 f2                	adc    %edx,%esi
6108ee:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
6108f4:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
6108f7:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
6108fd:	e8 6e 22 00 00       	call   0x612b70
610902:	51                   	push   %ecx
610903:	51                   	push   %ecx
610904:	dd 1c 24             	fstpl  (%esp)
610907:	e8 84 dd fd ff       	call   0x5ee690
61090c:	59                   	pop    %ecx
61090d:	59                   	pop    %ecx
61090e:	e8 dd a3 03 00       	call   0x64acf0
610913:	8b c8                	mov    %eax,%ecx
610915:	89 8d 98 f8 ff ff    	mov    %ecx,-0x768(%ebp)
61091b:	6a 20                	push   $0x20
61091d:	5f                   	pop    %edi
61091e:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
610924:	74 08                	je     0x61092e
610926:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
61092c:	75 08                	jne    0x610936
61092e:	33 c0                	xor    %eax,%eax
610930:	89 85 98 f8 ff ff    	mov    %eax,-0x768(%ebp)
610936:	8b 95 b8 f8 ff ff    	mov    -0x748(%ebp),%edx
61093c:	33 db                	xor    %ebx,%ebx
61093e:	8b 85 a4 f8 ff ff    	mov    -0x75c(%ebp),%eax
610944:	85 f6                	test   %esi,%esi
610946:	89 85 30 fe ff ff    	mov    %eax,-0x1d0(%ebp)
61094c:	0f 95 c3             	setne  %bl
61094f:	89 b5 34 fe ff ff    	mov    %esi,-0x1cc(%ebp)
610955:	83 a5 5c fc ff ff 00 	andl   $0x0,-0x3a4(%ebp)
61095c:	43                   	inc    %ebx
61095d:	89 9d 2c fe ff ff    	mov    %ebx,-0x1d4(%ebp)
610963:	81 fa 33 04 00 00    	cmp    $0x433,%edx
610969:	0f 82 d8 03 00 00    	jb     0x610d47
61096f:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
610976:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
61097d:	00 10 00
610980:	c7 85 8c fa ff ff 02 	movl   $0x2,-0x574(%ebp)
610987:	00 00 00
61098a:	85 f6                	test   %esi,%esi
61098c:	0f 84 f4 01 00 00    	je     0x610b86
610992:	33 c9                	xor    %ecx,%ecx
610994:	8b 84 0d 90 fa ff ff 	mov    -0x570(%ebp,%ecx,1),%eax
61099b:	3b 84 0d 30 fe ff ff 	cmp    -0x1d0(%ebp,%ecx,1),%eax
6109a2:	0f 85 de 01 00 00    	jne    0x610b86
6109a8:	83 c1 04             	add    $0x4,%ecx
6109ab:	83 f9 08             	cmp    $0x8,%ecx
6109ae:	75 e4                	jne    0x610994
6109b0:	8d 82 cf fb ff ff    	lea    -0x431(%edx),%eax
6109b6:	8b cf                	mov    %edi,%ecx
6109b8:	8b f0                	mov    %eax,%esi
6109ba:	33 d2                	xor    %edx,%edx
6109bc:	83 e0 1f             	and    $0x1f,%eax
6109bf:	c1 ee 05             	shr    $0x5,%esi
6109c2:	2b c8                	sub    %eax,%ecx
6109c4:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
6109ca:	33 c0                	xor    %eax,%eax
6109cc:	89 b5 b4 f8 ff ff    	mov    %esi,-0x74c(%ebp)
6109d2:	40                   	inc    %eax
6109d3:	89 8d 90 f8 ff ff    	mov    %ecx,-0x770(%ebp)
6109d9:	e8 b2 18 fd ff       	call   0x5e2290
6109de:	8b 8c 9d 2c fe ff ff 	mov    -0x1d4(%ebp,%ebx,4),%ecx
6109e5:	48                   	dec    %eax
6109e6:	83 a5 8c f8 ff ff 00 	andl   $0x0,-0x774(%ebp)
6109ed:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
6109f3:	f7 d0                	not    %eax
6109f5:	89 85 a4 f8 ff ff    	mov    %eax,-0x75c(%ebp)
6109fb:	0f bd c1             	bsr    %ecx,%eax
6109fe:	74 03                	je     0x610a03
610a00:	40                   	inc    %eax
610a01:	eb 02                	jmp    0x610a05
610a03:	33 c0                	xor    %eax,%eax
610a05:	8d 14 33             	lea    (%ebx,%esi,1),%edx
610a08:	2b f8                	sub    %eax,%edi
610a0a:	89 bd ac f8 ff ff    	mov    %edi,-0x754(%ebp)
610a10:	89 95 9c f8 ff ff    	mov    %edx,-0x764(%ebp)
610a16:	83 fa 73             	cmp    $0x73,%edx
610a19:	75 0c                	jne    0x610a27
610a1b:	39 bd b8 f8 ff ff    	cmp    %edi,-0x748(%ebp)
610a21:	76 04                	jbe    0x610a27
610a23:	b1 01                	mov    $0x1,%cl
610a25:	eb 02                	jmp    0x610a29
610a27:	32 c9                	xor    %cl,%cl
610a29:	83 fa 73             	cmp    $0x73,%edx
610a2c:	0f 87 ed 00 00 00    	ja     0x610b1f
610a32:	84 c9                	test   %cl,%cl
610a34:	0f 85 e5 00 00 00    	jne    0x610b1f
610a3a:	83 fa 72             	cmp    $0x72,%edx
610a3d:	72 09                	jb     0x610a48
610a3f:	6a 72                	push   $0x72
610a41:	5a                   	pop    %edx
610a42:	89 95 9c f8 ff ff    	mov    %edx,-0x764(%ebp)
610a48:	8b ca                	mov    %edx,%ecx
610a4a:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
610a50:	83 fa ff             	cmp    $0xffffffff,%edx
610a53:	0f 84 90 00 00 00    	je     0x610ae9
610a59:	8b bd b4 f8 ff ff    	mov    -0x74c(%ebp),%edi
610a5f:	8b f2                	mov    %edx,%esi
610a61:	2b f7                	sub    %edi,%esi
610a63:	8d 95 30 fe ff ff    	lea    -0x1d0(%ebp),%edx
610a69:	8d 14 b2             	lea    (%edx,%esi,4),%edx
610a6c:	3b cf                	cmp    %edi,%ecx
610a6e:	72 67                	jb     0x610ad7
610a70:	3b f3                	cmp    %ebx,%esi
610a72:	73 04                	jae    0x610a78
610a74:	8b 02                	mov    (%edx),%eax
610a76:	eb 02                	jmp    0x610a7a
610a78:	33 c0                	xor    %eax,%eax
610a7a:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
610a80:	8d 46 ff             	lea    -0x1(%esi),%eax
610a83:	3b c3                	cmp    %ebx,%eax
610a85:	73 05                	jae    0x610a8c
610a87:	8b 42 fc             	mov    -0x4(%edx),%eax
610a8a:	eb 02                	jmp    0x610a8e
610a8c:	33 c0                	xor    %eax,%eax
610a8e:	23 85 a4 f8 ff ff    	and    -0x75c(%ebp),%eax
610a94:	83 ea 04             	sub    $0x4,%edx
610a97:	8b 8d 90 f8 ff ff    	mov    -0x770(%ebp),%ecx
610a9d:	8b 9d b0 f8 ff ff    	mov    -0x750(%ebp),%ebx
610aa3:	23 9d a8 f8 ff ff    	and    -0x758(%ebp),%ebx
610aa9:	d3 e8                	shr    %cl,%eax
610aab:	8b 8d b8 f8 ff ff    	mov    -0x748(%ebp),%ecx