// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::processSlash()
void processSlash()
	{
		_pos++;

		if (*_pos == 0)
			throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, uncompleted string.");

		switch (*_pos)
		{
			// case '"':		//-- Action same as default;
			// case '\\':		//-- Action same as default;
			// case '/':		//-- Action same as default;

			case 'b': _outStringStream<<'\b'; break;
			case 'f': _outStringStream<<'\f'; break;
			case 'n': _outStringStream<<'\n'; break;
			case 'r': _outStringStream<<'\r'; break;
			case 't': _outStringStream<<'\t'; break;
			case 'u':
			{
				_pos++;
				uint16_t W1 = parseUTF16Char();
				_pos += 4;
				
				if (W1 < 0xD800 || W1 > 0xDFFF)
				{
					UTF16ToUTF8(W1);
					return;
				}

				if (W1 >= 0xD800 && W1 <= 0xDBFF)
				{
					if(*_pos++ != '\\')
					{
						throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, trail surrogates for utf-16 surrogate pair missing.");
					}
					else if(*_pos++ != 'u')
					{
						throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, trail surrogates for utf-16 surrogate pair missing.");
					}
					uint16_t W2 = parseUTF16Char();
					if (W2 < 0xDC00 || W2 > 0xDFFF)
					{
						throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, trail surrogates for utf-16 surrogate pair in wrong range.");
					}
					UTF16ToUTF8(W1, W2);
					_pos += 4;
					return;
				}
				else
					throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, lead surrogates for utf-16 surrogate pair missing.");
			}

			default:
				_outStringStream<<(char)(*_pos);
				break;
		}

		_pos++;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
movq 0x12f0(%rdi), %rcx
leaq 0x1(%rcx), %rax
movq %rax, 0x12f0(%rdi)
movb 0x1(%rcx), %al
movzbl %al, %edx
cmpl $0x6d, %edx
jle 0x2ba06
addl $-0x6e, %edx
cmpl $0x7, %edx
ja 0x2bb21
leaq 0x20ef(%rip), %rsi      # 0x2dad8
movslq (%rsi,%rdx,4), %rdx
addq %rsi, %rdx
jmpq *%rdx
leaq 0x1100(%rbx), %rdi
leaq 0x8(%rsp), %rsi
movb $0xa, (%rsi)
jmp 0x2bb2f
cmpl $0x62, %edx
je 0x2ba9f
cmpl $0x66, %edx
jne 0x2bb1d
leaq 0x1100(%rbx), %rdi
leaq 0x8(%rsp), %rsi
movb $0xc, (%rsi)
jmp 0x2bb2f
leaq 0x1100(%rbx), %rdi
leaq 0x8(%rsp), %rsi
movb $0xd, (%rsi)
jmp 0x2bb2f
addq $0x2, %rcx
movq %rcx, 0x12f0(%rbx)
movq %rbx, %rdi
callq 0x2bdf6
movq 0x12f0(%rbx), %rcx
leaq 0x4(%rcx), %rdx
movq %rdx, 0x12f0(%rbx)
leal 0x2000(%rax), %edx
movzwl %dx, %edx
cmpl $0xf7ff, %edx           # imm = 0xF7FF
ja 0x2bab0
movzwl %ax, %esi
movq %rbx, %rdi
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x2bf04
leaq 0x1100(%rbx), %rdi
leaq 0x8(%rsp), %rsi
movb $0x9, (%rsi)
jmp 0x2bb2f
leaq 0x1100(%rbx), %rdi
leaq 0x8(%rsp), %rsi
movb $0x8, (%rsi)
jmp 0x2bb2f
movzwl %ax, %ebp
cmpl $0xdbff, %ebp           # imm = 0xDBFF
ja 0x2bbc7
leaq 0x5(%rcx), %rax
movq %rax, 0x12f0(%rbx)
cmpb $0x5c, 0x4(%rcx)
jne 0x2bc43
leaq 0x6(%rcx), %rax
movq %rax, 0x12f0(%rbx)
cmpb $0x75, 0x5(%rcx)
jne 0x2bcbf
movq %rbx, %rdi
callq 0x2bdf6
leal 0x2000(%rax), %ecx
movzwl %cx, %ecx
cmpl $0xfbff, %ecx           # imm = 0xFBFF
jbe 0x2bd38
movzwl %ax, %edx
movq %rbx, %rdi
movl %ebp, %esi
callq 0x2bfbe
addq $0x4, 0x12f0(%rbx)
jmp 0x2bb40
testl %edx, %edx
je 0x2bb4b
leaq 0x1100(%rbx), %rdi
leaq 0x8(%rsp), %rsi
movb %al, (%rsi)
movl $0x1, %edx
callq 0x132f0
incq 0x12f0(%rbx)
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x22be(%rip), %rsi      # 0x2de26
leaq 0x22e6(%rip), %rdx      # 0x2de55
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0x1f75(%rip), %rsi      # 0x2daf8
leaq 0x22cc(%rip), %rdx      # 0x2de56
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0xdf, %ecx
callq 0x2c1b8
leaq 0xd1cd(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd1a5(%rip), %rsi      # 0x38d58
leaq -0x119fc(%rip), %rdx    # 0x1a1be
movq %rbx, %rdi
callq 0x13410
jmp 0x2bdaf
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2326(%rip), %rsi      # 0x2df0a
leaq 0x236d(%rip), %rdx      # 0x2df58
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0x1ef9(%rip), %rsi      # 0x2daf8
leaq 0x2250(%rip), %rdx      # 0x2de56
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x10c, %ecx            # imm = 0x10C
callq 0x2c1b8
leaq 0xd151(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd129(%rip), %rsi      # 0x38d58
leaq -0x11a78(%rip), %rdx    # 0x1a1be
movq %rbx, %rdi
callq 0x13410
jmp 0x2bdaf
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2203(%rip), %rsi      # 0x2de63
leaq 0x224b(%rip), %rdx      # 0x2deb2
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0x1e7d(%rip), %rsi      # 0x2daf8
leaq 0x21d4(%rip), %rdx      # 0x2de56
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0xfc, %ecx
callq 0x2c1b8
leaq 0xd0d5(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd0ad(%rip), %rsi      # 0x38d58
leaq -0x11af4(%rip), %rdx    # 0x1a1be
movq %rbx, %rdi
callq 0x13410
jmp 0x2bdaf
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2187(%rip), %rsi      # 0x2de63
leaq 0x21cf(%rip), %rdx      # 0x2deb2
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0x1e01(%rip), %rsi      # 0x2daf8
leaq 0x2158(%rip), %rdx      # 0x2de56
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x100, %ecx            # imm = 0x100
callq 0x2c1b8
leaq 0xd059(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd031(%rip), %rsi      # 0x38d58
leaq -0x11b70(%rip), %rdx    # 0x1a1be
movq %rbx, %rdi
callq 0x13410
jmp 0x2bdaf
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x215e(%rip), %rsi      # 0x2deb3
leaq 0x21ad(%rip), %rdx      # 0x2df09
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0x1d88(%rip), %rsi      # 0x2daf8
leaq 0x20df(%rip), %rdx      # 0x2de56
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x105, %ecx            # imm = 0x105
callq 0x2c1b8
leaq 0xcfe0(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xcfb8(%rip), %rsi      # 0x38d58
leaq -0x11be9(%rip), %rdx    # 0x1a1be
movq %rbx, %rdi
callq 0x13410
jmp 0x2bdbf
jmp 0x2bddb
jmp 0x2bdbf
jmp 0x2bddb
jmp 0x2bdbf
jmp 0x2bddb
jmp 0x2bdbf
jmp 0x2bddb
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2bde1
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2bde1
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x2bdee
movq %rbx, %rdi
callq 0x131e0
movq %r14, %rdi
callq 0x13430