60666f:	33 c0                	xor    %eax,%eax
606671:	50                   	push   %eax
606672:	50                   	push   %eax
606673:	50                   	push   %eax
606674:	50                   	push   %eax
606675:	50                   	push   %eax
606676:	e8 d1 68 fe ff       	call   0x5ecf4c
60667b:	cc                   	int3
60667c:	8b ff                	mov    %edi,%edi
60667e:	55                   	push   %ebp
60667f:	8b ec                	mov    %esp,%ebp
606681:	83 ec 0c             	sub    $0xc,%esp
606684:	33 c0                	xor    %eax,%eax
606686:	56                   	push   %esi
606687:	57                   	push   %edi
606688:	ff 75 18             	push   0x18(%ebp)
60668b:	8d 7d f4             	lea    -0xc(%ebp),%edi
60668e:	ff 75 14             	push   0x14(%ebp)
606691:	ab                   	stos   %eax,%es:(%edi)
606692:	ab                   	stos   %eax,%es:(%edi)
606693:	ab                   	stos   %eax,%es:(%edi)
606694:	8d 45 f4             	lea    -0xc(%ebp),%eax
606697:	8b 7d 1c             	mov    0x1c(%ebp),%edi
60669a:	50                   	push   %eax
60669b:	8b 45 08             	mov    0x8(%ebp),%eax
60669e:	57                   	push   %edi
60669f:	ff 70 04             	push   0x4(%eax)
6066a2:	ff 30                	push   (%eax)
6066a4:	e8 e3 a0 00 00       	call   0x61078c
6066a9:	83 c9 ff             	or     $0xffffffff,%ecx
6066ac:	83 c4 18             	add    $0x18,%esp
6066af:	39 4d 10             	cmp    %ecx,0x10(%ebp)
6066b2:	74 0e                	je     0x6066c2
6066b4:	8b 4d 10             	mov    0x10(%ebp),%ecx
6066b7:	33 c0                	xor    %eax,%eax
6066b9:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
6066bd:	0f 94 c0             	sete   %al
6066c0:	2b c8                	sub    %eax,%ecx
6066c2:	8b 75 0c             	mov    0xc(%ebp),%esi
6066c5:	8d 45 f4             	lea    -0xc(%ebp),%eax
6066c8:	50                   	push   %eax
6066c9:	8b 45 f8             	mov    -0x8(%ebp),%eax
6066cc:	03 c7                	add    %edi,%eax
6066ce:	50                   	push   %eax
6066cf:	33 c0                	xor    %eax,%eax
6066d1:	83 7d f4 2d          	cmpl   $0x2d,-0xc(%ebp)
6066d5:	51                   	push   %ecx
6066d6:	0f 94 c0             	sete   %al
6066d9:	03 c6                	add    %esi,%eax
6066db:	50                   	push   %eax
6066dc:	e8 eb 9f 00 00       	call   0x6106cc
6066e1:	83 c4 10             	add    $0x10,%esp
6066e4:	85 c0                	test   %eax,%eax
6066e6:	74 05                	je     0x6066ed
6066e8:	c6 06 00             	movb   $0x0,(%esi)
6066eb:	eb 16                	jmp    0x606703
6066ed:	ff 75 20             	push   0x20(%ebp)
6066f0:	8d 45 f4             	lea    -0xc(%ebp),%eax
6066f3:	6a 00                	push   $0x0
6066f5:	50                   	push   %eax
6066f6:	57                   	push   %edi
6066f7:	ff 75 10             	push   0x10(%ebp)
6066fa:	56                   	push   %esi
6066fb:	e8 07 00 00 00       	call   0x606707
606700:	83 c4 18             	add    $0x18,%esp
606703:	5f                   	pop    %edi
606704:	5e                   	pop    %esi
606705:	c9                   	leave
606706:	c3                   	ret
606707:	8b ff                	mov    %edi,%edi
606709:	55                   	push   %ebp
60670a:	8b ec                	mov    %esp,%ebp
60670c:	83 ec 10             	sub    $0x10,%esp
60670f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
606712:	53                   	push   %ebx
606713:	56                   	push   %esi
606714:	57                   	push   %edi
606715:	ff 75 1c             	push   0x1c(%ebp)
606718:	e8 70 74 fe ff       	call   0x5edb8d
60671d:	8b 55 14             	mov    0x14(%ebp),%edx
606720:	8b 75 10             	mov    0x10(%ebp),%esi
606723:	8b 7d 08             	mov    0x8(%ebp),%edi
606726:	8b 4a 04             	mov    0x4(%edx),%ecx
606729:	49                   	dec    %ecx
60672a:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
60672e:	74 14                	je     0x606744
606730:	3b ce                	cmp    %esi,%ecx
606732:	75 10                	jne    0x606744
606734:	33 c0                	xor    %eax,%eax
606736:	83 3a 2d             	cmpl   $0x2d,(%edx)
606739:	0f 94 c0             	sete   %al
60673c:	03 c1                	add    %ecx,%eax
60673e:	66 c7 04 38 30 00    	movw   $0x30,(%eax,%edi,1)
606744:	83 3a 2d             	cmpl   $0x2d,(%edx)
606747:	8b df                	mov    %edi,%ebx
606749:	75 06                	jne    0x606751
60674b:	c6 07 2d             	movb   $0x2d,(%edi)
60674e:	8d 5f 01             	lea    0x1(%edi),%ebx
606751:	8b 42 04             	mov    0x4(%edx),%eax
606754:	85 c0                	test   %eax,%eax
606756:	7f 15                	jg     0x60676d
606758:	6a 01                	push   $0x1
60675a:	53                   	push   %ebx
60675b:	ff 75 0c             	push   0xc(%ebp)
60675e:	57                   	push   %edi
60675f:	e8 ca 01 00 00       	call   0x60692e
606764:	33 c0                	xor    %eax,%eax
606766:	c6 03 30             	movb   $0x30,(%ebx)
606769:	83 c4 10             	add    $0x10,%esp
60676c:	40                   	inc    %eax
60676d:	03 d8                	add    %eax,%ebx
60676f:	85 f6                	test   %esi,%esi
606771:	7e 4e                	jle    0x6067c1
606773:	6a 01                	push   $0x1
606775:	53                   	push   %ebx
606776:	ff 75 0c             	push   0xc(%ebp)
606779:	57                   	push   %edi
60677a:	e8 af 01 00 00       	call   0x60692e
60677f:	8b 45 f4             	mov    -0xc(%ebp),%eax
606782:	83 c4 10             	add    $0x10,%esp
606785:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
60678b:	8b 00                	mov    (%eax),%eax
60678d:	8a 00                	mov    (%eax),%al
60678f:	88 03                	mov    %al,(%ebx)
606791:	43                   	inc    %ebx
606792:	8b 45 14             	mov    0x14(%ebp),%eax
606795:	8b 40 04             	mov    0x4(%eax),%eax
606798:	85 c0                	test   %eax,%eax
60679a:	79 25                	jns    0x6067c1
60679c:	f7 d8                	neg    %eax
60679e:	80 7d 18 00          	cmpb   $0x0,0x18(%ebp)
6067a2:	75 04                	jne    0x6067a8
6067a4:	3b c6                	cmp    %esi,%eax
6067a6:	7d 02                	jge    0x6067aa
6067a8:	8b f0                	mov    %eax,%esi
6067aa:	56                   	push   %esi
6067ab:	53                   	push   %ebx
6067ac:	ff 75 0c             	push   0xc(%ebp)
6067af:	57                   	push   %edi
6067b0:	e8 79 01 00 00       	call   0x60692e
6067b5:	56                   	push   %esi
6067b6:	6a 30                	push   $0x30
6067b8:	53                   	push   %ebx
6067b9:	e8 42 d2 fd ff       	call   0x5e3a00
6067be:	83 c4 1c             	add    $0x1c,%esp
6067c1:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
6067c5:	5f                   	pop    %edi
6067c6:	5e                   	pop    %esi
6067c7:	5b                   	pop    %ebx
6067c8:	74 0a                	je     0x6067d4
6067ca:	8b 45 f0             	mov    -0x10(%ebp),%eax
6067cd:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
6067d4:	33 c0                	xor    %eax,%eax
6067d6:	c9                   	leave
6067d7:	c3                   	ret
6067d8:	8b ff                	mov    %edi,%edi
6067da:	55                   	push   %ebp
6067db:	8b ec                	mov    %esp,%ebp
6067dd:	83 ec 10             	sub    $0x10,%esp
6067e0:	53                   	push   %ebx
6067e1:	56                   	push   %esi
6067e2:	57                   	push   %edi
6067e3:	ff 75 18             	push   0x18(%ebp)
6067e6:	33 c0                	xor    %eax,%eax
6067e8:	8d 7d f0             	lea    -0x10(%ebp),%edi
6067eb:	ff 75 14             	push   0x14(%ebp)
6067ee:	ab                   	stos   %eax,%es:(%edi)
6067ef:	ab                   	stos   %eax,%es:(%edi)
6067f0:	ab                   	stos   %eax,%es:(%edi)
6067f1:	8d 45 f0             	lea    -0x10(%ebp),%eax
6067f4:	8b 7d 1c             	mov    0x1c(%ebp),%edi
6067f7:	50                   	push   %eax
6067f8:	8b 45 08             	mov    0x8(%ebp),%eax
6067fb:	57                   	push   %edi
6067fc:	ff 70 04             	push   0x4(%eax)
6067ff:	ff 30                	push   (%eax)
606801:	e8 86 9f 00 00       	call   0x61078c
606806:	8b 45 f4             	mov    -0xc(%ebp),%eax
606809:	33 c9                	xor    %ecx,%ecx
60680b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
60680e:	83 c4 18             	add    $0x18,%esp
606811:	83 7d f0 2d          	cmpl   $0x2d,-0x10(%ebp)
606815:	0f 94 c1             	sete   %cl
606818:	48                   	dec    %eax
606819:	89 45 fc             	mov    %eax,-0x4(%ebp)
60681c:	83 c8 ff             	or     $0xffffffff,%eax
60681f:	8d 34 19             	lea    (%ecx,%ebx,1),%esi
606822:	39 45 10             	cmp    %eax,0x10(%ebp)
606825:	74 05                	je     0x60682c
606827:	8b 45 10             	mov    0x10(%ebp),%eax
60682a:	2b c1                	sub    %ecx,%eax
60682c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
60682f:	51                   	push   %ecx
606830:	57                   	push   %edi
606831:	50                   	push   %eax
606832:	56                   	push   %esi
606833:	e8 94 9e 00 00       	call   0x6106cc
606838:	83 c4 10             	add    $0x10,%esp
60683b:	85 c0                	test   %eax,%eax
60683d:	74 05                	je     0x606844
60683f:	c6 03 00             	movb   $0x0,(%ebx)
606842:	eb 50                	jmp    0x606894
606844:	8b 45 f4             	mov    -0xc(%ebp),%eax
606847:	48                   	dec    %eax
606848:	83 f8 fc             	cmp    $0xfffffffc,%eax
60684b:	7c 2b                	jl     0x606878
60684d:	3b c7                	cmp    %edi,%eax
60684f:	7d 27                	jge    0x606878
606851:	39 45 fc             	cmp    %eax,-0x4(%ebp)
606854:	7d 0a                	jge    0x606860
606856:	8a 06                	mov    (%esi),%al
606858:	46                   	inc    %esi
606859:	84 c0                	test   %al,%al
60685b:	75 f9                	jne    0x606856
60685d:	88 46 fe             	mov    %al,-0x2(%esi)
606860:	ff 75 28             	push   0x28(%ebp)
606863:	8d 45 f0             	lea    -0x10(%ebp),%eax
606866:	6a 01                	push   $0x1
606868:	50                   	push   %eax
606869:	57                   	push   %edi
60686a:	ff 75 10             	push   0x10(%ebp)
60686d:	53                   	push   %ebx
60686e:	e8 94 fe ff ff       	call   0x606707
606873:	83 c4 18             	add    $0x18,%esp
606876:	eb 1c                	jmp    0x606894
606878:	ff 75 28             	push   0x28(%ebp)
60687b:	8d 45 f0             	lea    -0x10(%ebp),%eax
60687e:	6a 01                	push   $0x1
606880:	50                   	push   %eax
606881:	ff 75 24             	push   0x24(%ebp)
606884:	ff 75 20             	push   0x20(%ebp)
606887:	57                   	push   %edi
606888:	ff 75 10             	push   0x10(%ebp)
60688b:	53                   	push   %ebx
60688c:	e8 a3 fc ff ff       	call   0x606534
606891:	83 c4 20             	add    $0x20,%esp
606894:	5f                   	pop    %edi
606895:	5e                   	pop    %esi
606896:	5b                   	pop    %ebx
606897:	c9                   	leave
606898:	c3                   	ret
606899:	8b ff                	mov    %edi,%edi
60689b:	55                   	push   %ebp
60689c:	8b ec                	mov    %esp,%ebp
60689e:	51                   	push   %ecx
60689f:	8a 4d 0c             	mov    0xc(%ebp),%cl
6068a2:	8b 55 14             	mov    0x14(%ebp),%edx
6068a5:	0f b6 c1             	movzbl %cl,%eax
6068a8:	83 c0 04             	add    $0x4,%eax
6068ab:	3b d0                	cmp    %eax,%edx
6068ad:	73 0b                	jae    0x6068ba
6068af:	8b 45 10             	mov    0x10(%ebp),%eax
6068b2:	6a 0c                	push   $0xc
6068b4:	c6 00 00             	movb   $0x0,(%eax)
6068b7:	58                   	pop    %eax
6068b8:	c9                   	leave
6068b9:	c3                   	ret
6068ba:	84 c9                	test   %cl,%cl
6068bc:	8b 4d 10             	mov    0x10(%ebp),%ecx
6068bf:	74 0d                	je     0x6068ce
6068c1:	c6 01 2d             	movb   $0x2d,(%ecx)
6068c4:	41                   	inc    %ecx
6068c5:	c6 01 00             	movb   $0x0,(%ecx)
6068c8:	83 fa ff             	cmp    $0xffffffff,%edx
6068cb:	74 01                	je     0x6068ce
6068cd:	4a                   	dec    %edx
6068ce:	8b 45 08             	mov    0x8(%ebp),%eax
6068d1:	53                   	push   %ebx
6068d2:	56                   	push   %esi
6068d3:	57                   	push   %edi
6068d4:	0f b6 7d 18          	movzbl 0x18(%ebp),%edi
6068d8:	8d 1c 85 fc ff ff ff 	lea    -0x4(,%eax,4),%ebx
6068df:	83 f7 01             	xor    $0x1,%edi
6068e2:	03 ff                	add    %edi,%edi
6068e4:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
6068e7:	8b 34 85 90 4a 6d 00 	mov    0x6d4a90(,%eax,4),%esi
6068ee:	8d 46 01             	lea    0x1(%esi),%eax
6068f1:	89 45 fc             	mov    %eax,-0x4(%ebp)
6068f4:	8a 06                	mov    (%esi),%al
6068f6:	46                   	inc    %esi
6068f7:	84 c0                	test   %al,%al
6068f9:	75 f9                	jne    0x6068f4
6068fb:	2b 75 fc             	sub    -0x4(%ebp),%esi
6068fe:	3b f2                	cmp    %edx,%esi
606900:	1b c0                	sbb    %eax,%eax
606902:	43                   	inc    %ebx
606903:	03 c3                	add    %ebx,%eax
606905:	03 c7                	add    %edi,%eax
606907:	ff 34 85 90 4a 6d 00 	push   0x6d4a90(,%eax,4)
60690e:	52                   	push   %edx
60690f:	51                   	push   %ecx
606910:	e8 f6 1f ff ff       	call   0x5f890b
606915:	83 c4 0c             	add    $0xc,%esp
606918:	5f                   	pop    %edi
606919:	5e                   	pop    %esi
60691a:	5b                   	pop    %ebx
60691b:	85 c0                	test   %eax,%eax
60691d:	75 02                	jne    0x606921
60691f:	c9                   	leave
606920:	c3                   	ret
606921:	33 c0                	xor    %eax,%eax
606923:	50                   	push   %eax
606924:	50                   	push   %eax
606925:	50                   	push   %eax
606926:	50                   	push   %eax
606927:	50                   	push   %eax
606928:	e8 1f 66 fe ff       	call   0x5ecf4c
60692d:	cc                   	int3
60692e:	8b ff                	mov    %edi,%edi
606930:	55                   	push   %ebp
606931:	8b ec                	mov    %esp,%ebp
606933:	8b 55 14             	mov    0x14(%ebp),%edx
606936:	85 d2                	test   %edx,%edx
606938:	74 26                	je     0x606960
60693a:	56                   	push   %esi
60693b:	8b 75 10             	mov    0x10(%ebp),%esi
60693e:	8b ce                	mov    %esi,%ecx
606940:	57                   	push   %edi
606941:	8d 79 01             	lea    0x1(%ecx),%edi
606944:	8a 01                	mov    (%ecx),%al
606946:	41                   	inc    %ecx
606947:	84 c0                	test   %al,%al
606949:	75 f9                	jne    0x606944
60694b:	2b cf                	sub    %edi,%ecx
60694d:	8d 41 01             	lea    0x1(%ecx),%eax
606950:	50                   	push   %eax
606951:	8d 04 16             	lea    (%esi,%edx,1),%eax
606954:	56                   	push   %esi
606955:	50                   	push   %eax
606956:	e8 25 cb fd ff       	call   0x5e3480
60695b:	83 c4 0c             	add    $0xc,%esp
60695e:	5f                   	pop    %edi
60695f:	5e                   	pop    %esi
606960:	5d                   	pop    %ebp
606961:	c3                   	ret
606962:	8b ff                	mov    %edi,%edi
606964:	55                   	push   %ebp
606965:	8b ec                	mov    %esp,%ebp
606967:	51                   	push   %ecx
606968:	51                   	push   %ecx
606969:	56                   	push   %esi
60696a:	57                   	push   %edi
60696b:	8b 7d 0c             	mov    0xc(%ebp),%edi
60696e:	85 ff                	test   %edi,%edi
606970:	75 16                	jne    0x606988
606972:	e8 82 66 fe ff       	call   0x5ecff9
606977:	6a 16                	push   $0x16
606979:	5e                   	pop    %esi
60697a:	89 30                	mov    %esi,(%eax)
60697c:	e8 9e 65 fe ff       	call   0x5ecf1f