; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727.762 

	TITLE	d:\Source Code\NC lib\ncToken2.cpp
	.686P
	.XMM
	include listing.inc
	.model	flat

INCLUDELIB LIBCMTD
INCLUDELIB OLDNAMES

PUBLIC	??_7ncRefCount@@6B@				; ncRefCount::`vftable'
PUBLIC	??0ncRefCount@@QAE@XZ				; ncRefCount::ncRefCount
PUBLIC	??_R4ncRefCount@@6B@				; ncRefCount::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVncRefCount@@@8				; ncRefCount `RTTI Type Descriptor'
PUBLIC	??_R3ncRefCount@@8				; ncRefCount::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2ncRefCount@@8				; ncRefCount::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@ncRefCount@@8			; ncRefCount::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?IncRef@ncRefCount@@UAEXXZ			; ncRefCount::IncRef
PUBLIC	?DecRef@ncRefCount@@UAEXXZ			; ncRefCount::DecRef
EXTRN	??_7type_info@@6B@:QWORD			; type_info::`vftable'
;	COMDAT ??_R1A@?0A@EA@ncRefCount@@8
; File d:\source code\nc lib\ncrefcount.h
rdata$r	SEGMENT
??_R1A@?0A@EA@ncRefCount@@8 DD FLAT:??_R0?AVncRefCount@@@8 ; ncRefCount::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	00H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ncRefCount@@8
rdata$r	ENDS
;	COMDAT ??_R2ncRefCount@@8
rdata$r	SEGMENT
??_R2ncRefCount@@8 DD FLAT:??_R1A@?0A@EA@ncRefCount@@8	; ncRefCount::`RTTI Base Class Array'
rdata$r	ENDS
;	COMDAT ??_R3ncRefCount@@8
rdata$r	SEGMENT
??_R3ncRefCount@@8 DD 00H				; ncRefCount::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	01H
	DD	FLAT:??_R2ncRefCount@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVncRefCount@@@8
_DATA	SEGMENT
??_R0?AVncRefCount@@@8 DD FLAT:??_7type_info@@6B@	; ncRefCount `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVncRefCount@@', 00H
_DATA	ENDS
;	COMDAT ??_R4ncRefCount@@6B@
rdata$r	SEGMENT
??_R4ncRefCount@@6B@ DD 00H				; ncRefCount::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVncRefCount@@@8
	DD	FLAT:??_R3ncRefCount@@8
rdata$r	ENDS
;	COMDAT ??_7ncRefCount@@6B@
CONST	SEGMENT
??_7ncRefCount@@6B@ DD FLAT:??_R4ncRefCount@@6B@	; ncRefCount::`vftable'
	DD	FLAT:?IncRef@ncRefCount@@UAEXXZ
	DD	FLAT:?DecRef@ncRefCount@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0ncRefCount@@QAE@XZ
_TEXT	SEGMENT
??0ncRefCount@@QAE@XZ PROC				; ncRefCount::ncRefCount, COMDAT
; _this$ = ecx

; 8    : 	ncRefCount()

	mov	eax, ecx
	mov	DWORD PTR [eax], OFFSET ??_7ncRefCount@@6B@

; 9    : 	{
; 10   : 		this->m_refCount = 0;

	mov	DWORD PTR [eax+4], 0

; 11   : 	};

	ret	0
??0ncRefCount@@QAE@XZ ENDP				; ncRefCount::ncRefCount
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?IncRef@ncRefCount@@UAEXXZ
_TEXT	SEGMENT
?IncRef@ncRefCount@@UAEXXZ PROC				; ncRefCount::IncRef, COMDAT
; _this$ = ecx

; 14   : 		this->m_refCount++;

	add	DWORD PTR [ecx+4], 1

; 15   : 	};

	ret	0
?IncRef@ncRefCount@@UAEXXZ ENDP				; ncRefCount::IncRef
; Function compile flags: /Ogtpy
_TEXT	ENDS
;	COMDAT ?DecRef@ncRefCount@@UAEXXZ
_TEXT	SEGMENT
?DecRef@ncRefCount@@UAEXXZ PROC				; ncRefCount::DecRef, COMDAT
; _this$ = ecx

; 18   : 		this->m_refCount--;

	add	DWORD PTR [ecx+4], -1

; 19   : 	};

	ret	0
?DecRef@ncRefCount@@UAEXXZ ENDP				; ncRefCount::DecRef
_TEXT	ENDS
PUBLIC	?GetString@ncTokenBase@@QAEAAVncString2@@XZ	; ncTokenBase::GetString
; Function compile flags: /Ogtpy
; File d:\source code\nc lib\nctoken2.cpp
;	COMDAT ?GetString@ncTokenBase@@QAEAAVncString2@@XZ
_TEXT	SEGMENT
?GetString@ncTokenBase@@QAEAAVncString2@@XZ PROC	; ncTokenBase::GetString, COMDAT
; _this$ = ecx

; 6    : 	return this->m_string;

	lea	eax, DWORD PTR [ecx+8]

; 7    : }

	ret	0
?GetString@ncTokenBase@@QAEAAVncString2@@XZ ENDP	; ncTokenBase::GetString
_TEXT	ENDS
PUBLIC	??1ncTokenBase@@QAE@XZ				; ncTokenBase::~ncTokenBase
EXTRN	??1ncString2@@QAE@XZ:PROC			; ncString2::~ncString2
; Function compile flags: /Ogtpy
;	COMDAT ??1ncTokenBase@@QAE@XZ
_TEXT	SEGMENT
??1ncTokenBase@@QAE@XZ PROC				; ncTokenBase::~ncTokenBase, COMDAT
; _this$ = ecx
	add	ecx, 8
	jmp	??1ncString2@@QAE@XZ			; ncString2::~ncString2
??1ncTokenBase@@QAE@XZ ENDP				; ncTokenBase::~ncTokenBase
_TEXT	ENDS
PUBLIC	??_7ncTokenBase@@6B@				; ncTokenBase::`vftable'
PUBLIC	??0ncTokenBase@@QAE@XZ				; ncTokenBase::ncTokenBase
PUBLIC	??_R4ncTokenBase@@6B@				; ncTokenBase::`RTTI Complete Object Locator'
PUBLIC	??_R0?AVncTokenBase@@@8				; ncTokenBase `RTTI Type Descriptor'
PUBLIC	??_R3ncTokenBase@@8				; ncTokenBase::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2ncTokenBase@@8				; ncTokenBase::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@ncTokenBase@@8			; ncTokenBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	?DecRef@ncTokenBase@@UAEXXZ			; ncTokenBase::DecRef
EXTRN	??0ncString2@@QAE@XZ:PROC			; ncString2::ncString2
;	COMDAT ??_R1A@?0A@EA@ncTokenBase@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@ncTokenBase@@8 DD FLAT:??_R0?AVncTokenBase@@@8 ; ncTokenBase::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3ncTokenBase@@8
rdata$r	ENDS
;	COMDAT ??_R2ncTokenBase@@8
rdata$r	SEGMENT
??_R2ncTokenBase@@8 DD FLAT:??_R1A@?0A@EA@ncTokenBase@@8 ; ncTokenBase::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@ncRefCount@@8
rdata$r	ENDS
;	COMDAT ??_R3ncTokenBase@@8
rdata$r	SEGMENT
??_R3ncTokenBase@@8 DD 00H				; ncTokenBase::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2ncTokenBase@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVncTokenBase@@@8
_DATA	SEGMENT
??_R0?AVncTokenBase@@@8 DD FLAT:??_7type_info@@6B@	; ncTokenBase `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVncTokenBase@@', 00H
_DATA	ENDS
;	COMDAT ??_R4ncTokenBase@@6B@
rdata$r	SEGMENT
??_R4ncTokenBase@@6B@ DD 00H				; ncTokenBase::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVncTokenBase@@@8
	DD	FLAT:??_R3ncTokenBase@@8
rdata$r	ENDS
;	COMDAT ??_7ncTokenBase@@6B@
CONST	SEGMENT
??_7ncTokenBase@@6B@ DD FLAT:??_R4ncTokenBase@@6B@	; ncTokenBase::`vftable'
	DD	FLAT:?IncRef@ncRefCount@@UAEXXZ
	DD	FLAT:?DecRef@ncTokenBase@@UAEXXZ
; Function compile flags: /Ogtpy
CONST	ENDS
;	COMDAT ??0ncTokenBase@@QAE@XZ
_TEXT	SEGMENT
??0ncTokenBase@@QAE@XZ PROC				; ncTokenBase::ncTokenBase, COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR [esi+4], 0
	mov	DWORD PTR [esi], OFFSET ??_7ncTokenBase@@6B@
	call	??0ncString2@@QAE@XZ			; ncString2::ncString2
	mov	eax, esi
	pop	esi
	ret	0
??0ncTokenBase@@QAE@XZ ENDP				; ncTokenBase::ncTokenBase
_TEXT	ENDS
PUBLIC	??1ncToken2@@QAE@XZ				; ncToken2::~ncToken2
; Function compile flags: /Ogtpy
;	COMDAT ??1ncToken2@@QAE@XZ
_TEXT	SEGMENT
??1ncToken2@@QAE@XZ PROC				; ncToken2::~ncToken2, COMDAT
; _this$ = ecx

; 27   : 	if (this->m_base != NULL)

	mov	ecx, DWORD PTR [ecx]
	test	ecx, ecx
	je	SHORT $LN1@ncToken2

; 28   : 		this->m_base->DecRef();

	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax+4]
	jmp	edx
$LN1@ncToken2:

; 29   : }

	ret	0
??1ncToken2@@QAE@XZ ENDP				; ncToken2::~ncToken2
_TEXT	ENDS
PUBLIC	?ToChar@ncToken2@@QAEPBDXZ			; ncToken2::ToChar
EXTRN	?GetString@ncString2@@QAEPBDXZ:PROC		; ncString2::GetString
; Function compile flags: /Ogtpy
;	COMDAT ?ToChar@ncToken2@@QAEPBDXZ
_TEXT	SEGMENT
?ToChar@ncToken2@@QAEPBDXZ PROC				; ncToken2::ToChar, COMDAT
; _this$ = ecx

; 65   : 	return this->m_base->GetString().GetString();

	mov	ecx, DWORD PTR [ecx]
	add	ecx, 8
	jmp	?GetString@ncString2@@QAEPBDXZ		; ncString2::GetString
?ToChar@ncToken2@@QAEPBDXZ ENDP				; ncToken2::ToChar
_TEXT	ENDS
PUBLIC	?ToDouble@ncToken2@@QAENXZ			; ncToken2::ToDouble
EXTRN	?ToDouble@ncString2@@QAENXZ:PROC		; ncString2::ToDouble
EXTRN	__fltused:DWORD
; Function compile flags: /Ogtpy
;	COMDAT ?ToDouble@ncToken2@@QAENXZ
_TEXT	SEGMENT
?ToDouble@ncToken2@@QAENXZ PROC				; ncToken2::ToDouble, COMDAT
; _this$ = ecx

; 69   : 	return this->m_base->GetString().ToDouble();

	mov	ecx, DWORD PTR [ecx]
	add	ecx, 8
	jmp	?ToDouble@ncString2@@QAENXZ		; ncString2::ToDouble
?ToDouble@ncToken2@@QAENXZ ENDP				; ncToken2::ToDouble
_TEXT	ENDS
PUBLIC	?ToLong@ncToken2@@QAEJXZ			; ncToken2::ToLong
EXTRN	?ToLong@ncString2@@QAEJXZ:PROC			; ncString2::ToLong
; Function compile flags: /Ogtpy
;	COMDAT ?ToLong@ncToken2@@QAEJXZ
_TEXT	SEGMENT
?ToLong@ncToken2@@QAEJXZ PROC				; ncToken2::ToLong, COMDAT
; _this$ = ecx

; 73   : 	return this->m_base->GetString().ToLong();

	mov	ecx, DWORD PTR [ecx]
	add	ecx, 8
	jmp	?ToLong@ncString2@@QAEJXZ		; ncString2::ToLong
?ToLong@ncToken2@@QAEJXZ ENDP				; ncToken2::ToLong
_TEXT	ENDS
PUBLIC	??_GncTokenBase@@QAEPAXI@Z			; ncTokenBase::`scalar deleting destructor'
EXTRN	??3@YAXPAX@Z:PROC				; operator delete
; Function compile flags: /Ogtpy
;	COMDAT ??_GncTokenBase@@QAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GncTokenBase@@QAEPAXI@Z PROC				; ncTokenBase::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	lea	ecx, DWORD PTR [esi+8]
	call	??1ncString2@@QAE@XZ			; ncString2::~ncString2
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $LN7@scalar
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN7@scalar:
	mov	eax, esi
	pop	esi
	ret	4
??_GncTokenBase@@QAEPAXI@Z ENDP				; ncTokenBase::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0ncToken2@@QAE@XZ				; ncToken2::ncToken2
EXTRN	??2@YAPAXI@Z:PROC				; operator new
EXTRN	___CxxFrameHandler3:PROC
;	COMDAT xdata$x
; File d:\source code\nc lib\ncrefcount.h
xdata$x	SEGMENT
__unwindtable$??0ncToken2@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0ncToken2@@QAE@XZ$0
__ehfuncinfo$??0ncToken2@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0ncToken2@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
; File d:\source code\nc lib\nctoken2.cpp
xdata$x	ENDS
;	COMDAT ??0ncToken2@@QAE@XZ
_TEXT	SEGMENT
$T24104 = -16						; size = 4
__$EHRec$ = -12						; size = 12
??0ncToken2@@QAE@XZ PROC				; ncToken2::ncToken2, COMDAT
; _this$ = ecx

; 16   : {

	push	-1
	push	__ehhandler$??0ncToken2@@QAE@XZ
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	push	ecx
	push	esi
	push	edi

; 17   : 	this->m_base = new ncTokenBase;

	push	12					; 0000000cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T24104[esp+24], esi
	xor	ecx, ecx
	cmp	esi, ecx
	mov	DWORD PTR __$EHRec$[esp+32], ecx
	je	SHORT $LN3@ncToken2@2
	mov	DWORD PTR [esi+4], ecx
	lea	ecx, DWORD PTR [esi+8]
	mov	DWORD PTR [esi], OFFSET ??_7ncTokenBase@@6B@
	call	??0ncString2@@QAE@XZ			; ncString2::ncString2
	mov	ecx, esi
$LN3@ncToken2@2:
	mov	DWORD PTR [edi], ecx

; 18   : 	this->m_base->IncRef();

	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR __$EHRec$[esp+32], -1
	call	edx

; 19   : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	mov	eax, edi
	pop	edi
	pop	esi
	mov	DWORD PTR fs:0, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0ncToken2@@QAE@XZ$0:
	mov	eax, DWORD PTR $T24104[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$??0ncToken2@@QAE@XZ:
	mov	eax, OFFSET __ehfuncinfo$??0ncToken2@@QAE@XZ
	jmp	___CxxFrameHandler3
text$x	ENDS
??0ncToken2@@QAE@XZ ENDP				; ncToken2::ncToken2
PUBLIC	??0ncToken2@@QAE@PBD@Z				; ncToken2::ncToken2
EXTRN	?SetString@ncString2@@QAEXPBD@Z:PROC		; ncString2::SetString
; Function compile flags: /Ogtpy
;	COMDAT ??0ncToken2@@QAE@PBD@Z
_TEXT	SEGMENT
_content$ = 8						; size = 4
??0ncToken2@@QAE@PBD@Z PROC				; ncToken2::ncToken2, COMDAT
; _this$ = ecx

; 21   : {

	push	esi
	mov	esi, ecx

; 22   : 	this->ncToken2::ncToken2();

	call	??0ncToken2@@QAE@XZ			; ncToken2::ncToken2

; 23   : 	this->m_base->GetString().SetString(content);

	mov	eax, DWORD PTR _content$[esp]
	mov	ecx, DWORD PTR [esi]
	push	eax
	add	ecx, 8
	call	?SetString@ncString2@@QAEXPBD@Z		; ncString2::SetString

; 24   : }

	mov	eax, esi
	pop	esi
	ret	4
??0ncToken2@@QAE@PBD@Z ENDP				; ncToken2::ncToken2
_TEXT	ENDS
PUBLIC	?gettok@ncToken2@@QAE?AV1@IID@Z			; ncToken2::gettok
EXTRN	?Resize@ncString2@@QAE_NI@Z:PROC		; ncString2::Resize
EXTRN	?GetLength@ncString2@@QAEIXZ:PROC		; ncString2::GetLength
EXTRN	?IsEmpty@ncString2@@QAE_NXZ:PROC		; ncString2::IsEmpty
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?gettok@ncToken2@@QAE?AV1@IID@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?gettok@ncToken2@@QAE?AV1@IID@Z$0
__ehfuncinfo$?gettok@ncToken2@@QAE?AV1@IID@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?gettok@ncToken2@@QAE?AV1@IID@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	01H
; Function compile flags: /Ogtpy
xdata$x	ENDS
;	COMDAT ?gettok@ncToken2@@QAE?AV1@IID@Z
_TEXT	SEGMENT
_count$23967 = -24					; size = 4
_start$23968 = -20					; size = 4
$T24136 = -16						; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
_pos$ = 12						; size = 4
_tokCount$ = 16						; size = 4
_token$ = 20						; size = 1
?gettok@ncToken2@@QAE?AV1@IID@Z PROC			; ncToken2::gettok, COMDAT
; _this$ = ecx

; 35   : {

	push	-1
	push	__ehhandler$?gettok@ncToken2@@QAE?AV1@IID@Z
	mov	eax, DWORD PTR fs:0
	push	eax
	mov	DWORD PTR fs:0, esp
	sub	esp, 12					; 0000000cH
	push	ebp
	push	esi
	xor	esi, esi
	push	edi
	mov	edi, ecx
	mov	DWORD PTR $T24136[esp+36], esi

; 36   : 	ncToken2 ret;

	mov	ecx, DWORD PTR ___$ReturnUdt$[esp+32]
	mov	DWORD PTR __$EHRec$[esp+44], esi
	call	??0ncToken2@@QAE@XZ			; ncToken2::ncToken2

; 61   : 	return ret;

	mov	ecx, DWORD PTR [edi]
	mov	ebp, 1
	add	ecx, 8
	mov	DWORD PTR __$EHRec$[esp+44], esi
	mov	DWORD PTR $T24136[esp+36], ebp
	call	?IsEmpty@ncString2@@QAE_NXZ		; ncString2::IsEmpty
	test	al, al
	jne	$LN7@gettok
	mov	ecx, DWORD PTR [edi]
	add	ecx, 8
	mov	DWORD PTR _count$23967[esp+36], ebp
	mov	DWORD PTR _start$23968[esp+36], esi
	call	?GetLength@ncString2@@QAEIXZ		; ncString2::GetLength
	test	eax, eax
	jbe	$LN7@gettok
	sub	ebp, DWORD PTR _pos$[esp+32]
	push	ebx
	mov	bl, BYTE PTR _token$[esp+36]
$LL9@gettok:
	mov	ecx, DWORD PTR [edi]
	add	ecx, 8
	call	?GetString@ncString2@@QAEPBDXZ		; ncString2::GetString
	cmp	BYTE PTR [eax+esi], bl
	jne	SHORT $LN8@gettok
	mov	ecx, DWORD PTR [edi]
	add	ecx, 8
	call	?GetString@ncString2@@QAEPBDXZ		; ncString2::GetString
	cmp	BYTE PTR [eax+esi], bl
	jne	SHORT $LN4@gettok
$LL5@gettok:

; 42   : 		{
; 43   : 			if (this->m_base->GetString().GetString()[i] == token)
; 44   : 			{
; 45   : 				while (this->ToChar()[i] == token)

	mov	ecx, DWORD PTR [edi]
	add	ecx, 8

; 46   : 					i++;

	add	esi, 1
	call	?GetString@ncString2@@QAEPBDXZ		; ncString2::GetString
	cmp	BYTE PTR [eax+esi], bl
	je	SHORT $LL5@gettok
$LN4@gettok:

; 47   : 
; 48   : 				count++;

	mov	eax, DWORD PTR _count$23967[esp+40]
	add	eax, 1
	add	ebp, 1

; 49   : 				if (count == pos)

	cmp	eax, DWORD PTR _pos$[esp+36]
	mov	DWORD PTR _count$23967[esp+40], eax
	jne	SHORT $LN3@gettok

; 50   : 					start = i;

	mov	DWORD PTR _start$23968[esp+40], esi
	jmp	SHORT $LN8@gettok
$LN3@gettok:

; 51   : 				else if ((count - pos) == tokCount)

	cmp	ebp, DWORD PTR _tokCount$[esp+36]
	je	SHORT $LN33@gettok
$LN8@gettok:

; 37   : 	if (!this->m_base->GetString().IsEmpty())
; 38   : 	{
; 39   : 		unsigned int count = 1,
; 40   : 		             start = 0;
; 41   : 		for (unsigned int i = 0; i < this->m_base->GetString().GetLength(); i++)

	mov	ecx, DWORD PTR [edi]
	add	ecx, 8
	add	esi, 1
	call	?GetLength@ncString2@@QAEIXZ		; ncString2::GetLength
	cmp	esi, eax
	jb	SHORT $LL9@gettok

; 51   : 				else if ((count - pos) == tokCount)

	jmp	SHORT $LN38@gettok
$LN33@gettok:

; 52   : 				{
; 53   : 					ret.m_base->GetString().SetString(this->m_base->GetString().GetString() + start);

	mov	ecx, DWORD PTR [edi]
	mov	ebp, DWORD PTR ___$ReturnUdt$[esp+36]
	mov	edi, DWORD PTR [ebp]
	add	ecx, 8
	add	edi, 8
	call	?GetString@ncString2@@QAEPBDXZ		; ncString2::GetString
	mov	ebx, DWORD PTR _start$23968[esp+40]
	add	eax, ebx
	push	eax
	mov	ecx, edi
	call	?SetString@ncString2@@QAEXPBD@Z		; ncString2::SetString

; 54   : 					ret.m_base->GetString().Resize(i - start);

	mov	ecx, DWORD PTR [ebp]
	sub	esi, ebx
	push	esi
	add	ecx, 8
	call	?Resize@ncString2@@QAE_NI@Z		; ncString2::Resize
$LN38@gettok:
	pop	ebx
$LN7@gettok:
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+32]
	mov	ecx, DWORD PTR [esi]

; 55   : 					break;
; 56   : 				}
; 57   : 			}
; 58   : 		}
; 59   : 	}
; 60   : 	ret.m_base->IncRef();

	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax]
	call	edx

; 62   : }

	mov	ecx, DWORD PTR __$EHRec$[esp+36]
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebp
	mov	DWORD PTR fs:0, ecx
	add	esp, 24					; 00000018H
	ret	16					; 00000010H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?gettok@ncToken2@@QAE?AV1@IID@Z$0:
	mov	eax, DWORD PTR $T24136[ebp]
	and	eax, 1
	je	$LN14@gettok
	and	DWORD PTR $T24136[ebp], -2		; fffffffeH
	mov	ecx, DWORD PTR ___$ReturnUdt$[ebp-4]
	jmp	??1ncToken2@@QAE@XZ			; ncToken2::~ncToken2
$LN14@gettok:
	ret	0
__ehhandler$?gettok@ncToken2@@QAE?AV1@IID@Z:
	mov	eax, OFFSET __ehfuncinfo$?gettok@ncToken2@@QAE?AV1@IID@Z
	jmp	___CxxFrameHandler3
text$x	ENDS
?gettok@ncToken2@@QAE?AV1@IID@Z ENDP			; ncToken2::gettok
; Function compile flags: /Ogtpy
;	COMDAT ?DecRef@ncTokenBase@@UAEXXZ
_TEXT	SEGMENT
?DecRef@ncTokenBase@@UAEXXZ PROC			; ncTokenBase::DecRef, COMDAT
; _this$ = ecx

; 9    : {

	push	esi
	mov	esi, ecx

; 10   : 	this->m_refCount--;

	add	DWORD PTR [esi+4], -1

; 11   : 	if (this->m_refCount == 0)

	jne	SHORT $LN4@DecRef

; 12   : 		delete this;

	lea	ecx, DWORD PTR [esi+8]
	call	??1ncString2@@QAE@XZ			; ncString2::~ncString2
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$LN4@DecRef:
	pop	esi

; 13   : }

	ret	0
?DecRef@ncTokenBase@@UAEXXZ ENDP			; ncTokenBase::DecRef
_TEXT	ENDS
PUBLIC	?gettok@ncToken2@@QAE?AV1@ID@Z			; ncToken2::gettok
; Function compile flags: /Ogtpy
;	COMDAT ?gettok@ncToken2@@QAE?AV1@ID@Z
_TEXT	SEGMENT
$T24205 = -4						; size = 4
___$ReturnUdt$ = 8					; size = 4
_pos$ = 12						; size = 4
_token$ = 16						; size = 1
?gettok@ncToken2@@QAE?AV1@ID@Z PROC			; ncToken2::gettok, COMDAT
; _this$ = ecx

; 31   : {

	push	ecx

; 32   : 	return this->gettok(pos, 1, token);

	mov	eax, DWORD PTR _token$[esp]
	mov	edx, DWORD PTR _pos$[esp]
	push	esi
	mov	esi, DWORD PTR ___$ReturnUdt$[esp+4]
	push	eax
	push	1
	push	edx
	push	esi
	mov	DWORD PTR $T24205[esp+24], 0
	call	?gettok@ncToken2@@QAE?AV1@IID@Z		; ncToken2::gettok
	mov	eax, esi
	pop	esi

; 33   : }

	pop	ecx
	ret	12					; 0000000cH
?gettok@ncToken2@@QAE?AV1@ID@Z ENDP			; ncToken2::gettok
_TEXT	ENDS
END
