// File: ClauParser[P]ClauParser/./include/clau_parser.h
// Function: clau_parser::UserType::Reset(clau_parser::UserType const&)
void Reset(const UserType& ut) {
			std::vector<UserType*> _stack;
			std::vector<Wrap2> _stack2;

			_stack.push_back(this);
			_stack2.push_back(Wrap2((const UserType*)&ut));

			while (!_stack2.empty()) {
				if (_stack2.back().idx >= _stack2.back().max) {
					{
						_stack.back()->sortedItemList.clear();
						_stack.back()->sortedUserTypeList.clear();
						_stack.back()->name = _stack2.back().ut->name;
						_stack.back()->ilist = _stack2.back().ut->ilist;
						_stack.back()->itemList = _stack2.back().ut->itemList;
						_stack.back()->useSortedItemList = false; // ut.useSortedItemList;
						_stack.back()->useSortedUserTypeList = false; //ut.useSortedUserTypeList;
					}

					{
						UserType* child = _stack.back();

						_stack.pop_back();

						if (!_stack.empty()) {
							_stack.back()->LinkUserType(child);
						}
					}

					_stack2.pop_back();
					if (_stack2.empty()) {
						break;
					}
					_stack2.back().idx++;
					continue;
				}

				{
					UserType* child = new UserType(_stack2.back().ut->GetName());
					_stack.push_back(child);
				}
				_stack2.push_back(Wrap2(_stack2.back().ut->GetUserTypeList(_stack2.back().idx)));
				_stack.back()->ReserveUserTypeList(_stack2.back().ut->GetUserTypeListSize());
			}
		}

// Assembly:
subq $0xf8, %rsp
movq %rdi, 0xf0(%rsp)
movq %rsi, 0xe8(%rsp)
movq 0xf0(%rsp), %rax
movq %rax, 0x50(%rsp)
leaq 0xd0(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x5520
leaq 0xb8(%rsp), %rdi
callq 0x155d0
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rdi
movq %rax, 0xb0(%rsp)
leaq 0xb0(%rsp), %rsi
callq 0x142b0
jmp 0x15174
movq 0xe8(%rsp), %rsi
leaq 0x88(%rsp), %rdi
callq 0x15610
jmp 0x1518b
leaq 0xb8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x155e0
jmp 0x151a2
jmp 0x151a4
leaq 0xb8(%rsp), %rdi
callq 0x15660
xorb $-0x1, %al
testb $0x1, %al
jne 0x151bc
jmp 0x154c6
leaq 0xb8(%rsp), %rdi
callq 0x156b0
movq 0x8(%rax), %rax
movq %rax, 0x48(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x156b0
movq %rax, %rcx
movq 0x48(%rsp), %rax
cmpq 0x10(%rcx), %rax
jb 0x153b1
leaq 0xd0(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x5f80
movq (%rax), %rdi
addq $0x78, %rdi
callq 0x156f0
movq 0x38(%rsp), %rdi
callq 0x5f80
movq (%rax), %rdi
addq $0x90, %rdi
callq 0x15710
leaq 0xb8(%rsp), %rdi
callq 0x156b0
movq 0x38(%rsp), %rdi
movq (%rax), %rax
addq $0x8, %rax
movq %rax, 0x40(%rsp)
callq 0x5f80
movq 0x40(%rsp), %rsi
movq (%rax), %rdi
addq $0x8, %rdi
callq 0x3050
jmp 0x1525e
leaq 0xb8(%rsp), %rdi
callq 0x156b0
movq (%rax), %rax
addq $0x30, %rax
movq %rax, 0x30(%rsp)
leaq 0xd0(%rsp), %rdi
callq 0x5f80
movq 0x30(%rsp), %rsi
movq (%rax), %rdi
addq $0x30, %rdi
callq 0x15730
jmp 0x15297
leaq 0xb8(%rsp), %rdi
callq 0x156b0
movq (%rax), %rax
addq $0x48, %rax
movq %rax, 0x28(%rsp)
leaq 0xd0(%rsp), %rdi
callq 0x5f80
movq 0x28(%rsp), %rsi
movq (%rax), %rdi
addq $0x48, %rdi
callq 0x159f0
jmp 0x152d0
leaq 0xd0(%rsp), %rdi
callq 0x5f80
movq (%rax), %rax
movb $0x0, 0xa8(%rax)
leaq 0xd0(%rsp), %rdi
callq 0x5f80
movq (%rax), %rax
movb $0x0, 0xa9(%rax)
leaq 0xd0(%rsp), %rdi
callq 0x5f80
movq (%rax), %rax
movq %rax, 0x80(%rsp)
leaq 0xd0(%rsp), %rdi
callq 0x8800
leaq 0xd0(%rsp), %rdi
callq 0x8750
testb $0x1, %al
jne 0x1536e
leaq 0xd0(%rsp), %rdi
callq 0x5f80
movq (%rax), %rdi
movq 0x80(%rsp), %rsi
callq 0x87a0
jmp 0x15353
jmp 0x1536e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
jmp 0x154e8
leaq 0xb8(%rsp), %rdi
callq 0x15cb0
leaq 0xb8(%rsp), %rdi
callq 0x15660
testb $0x1, %al
jne 0x1538e
jmp 0x15393
jmp 0x154c6
leaq 0xb8(%rsp), %rdi
callq 0x156b0
movq 0x8(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x8(%rax)
jmp 0x151a4
movl $0xb0, %edi
callq 0x3230
movq %rax, 0x20(%rsp)
jmp 0x153c2
leaq 0xb8(%rsp), %rdi
callq 0x156b0
movq (%rax), %rdi
callq 0x89c0
movq 0x20(%rsp), %rdi
movq %rax, %rsi
callq 0x4ed0
jmp 0x153e6
movq 0x20(%rsp), %rax
movq %rax, 0x78(%rsp)
leaq 0xd0(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x5530
jmp 0x15404
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x156b0
movq 0x8(%rsp), %rdi
movq (%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x156b0
movq 0x10(%rsp), %rdi
movq 0x8(%rax), %rsi
callq 0x15cd0
movq %rax, 0x18(%rsp)
jmp 0x1543d
movq 0x18(%rsp), %rax
movq (%rax), %rsi
leaq 0x60(%rsp), %rdi
callq 0x15610
jmp 0x15451
leaq 0xb8(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x155e0
jmp 0x15465
leaq 0xd0(%rsp), %rdi
callq 0x5f80
movq (%rax), %rax
movq %rax, (%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x156b0
movq (%rax), %rdi
callq 0x7940
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x15d00
jmp 0x1549c
jmp 0x151a4
movq 0x20(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
movl $0xb0, %esi
callq 0x3240
jmp 0x154e8
leaq 0xb8(%rsp), %rdi
callq 0x15d40
leaq 0xd0(%rsp), %rdi
callq 0x55a0
addq $0xf8, %rsp
retq
leaq 0xb8(%rsp), %rdi
callq 0x15d40
leaq 0xd0(%rsp), %rdi
callq 0x55a0
movq 0xa8(%rsp), %rdi
callq 0x33d0
nop