// File: /workspace/github_cpp_makefile_star2_O3/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 0x2b762
addl $-0x6e, %edx
cmpl $0x7, %edx
ja 0x2b87d
leaq 0x2393(%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 0x2b88b
cmpl $0x62, %edx
je 0x2b7fb
cmpl $0x66, %edx
jne 0x2b879
leaq 0x1100(%rbx), %rdi
leaq 0x8(%rsp), %rsi
movb $0xc, (%rsi)
jmp 0x2b88b
leaq 0x1100(%rbx), %rdi
leaq 0x8(%rsp), %rsi
movb $0xd, (%rsi)
jmp 0x2b88b
addq $0x2, %rcx
movq %rcx, 0x12f0(%rbx)
movq %rbx, %rdi
callq 0x2bb50
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 0x2b80c
movzwl %ax, %esi
movq %rbx, %rdi
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x2bc5a
leaq 0x1100(%rbx), %rdi
leaq 0x8(%rsp), %rsi
movb $0x9, (%rsi)
jmp 0x2b88b
leaq 0x1100(%rbx), %rdi
leaq 0x8(%rsp), %rsi
movb $0x8, (%rsi)
jmp 0x2b88b
movzwl %ax, %ebp
cmpl $0xdbff, %ebp           # imm = 0xDBFF
ja 0x2b923
leaq 0x5(%rcx), %rax
movq %rax, 0x12f0(%rbx)
cmpb $0x5c, 0x4(%rcx)
jne 0x2b99f
leaq 0x6(%rcx), %rax
movq %rax, 0x12f0(%rbx)
cmpb $0x75, 0x5(%rcx)
jne 0x2ba1b
movq %rbx, %rdi
callq 0x2bb50
leal 0x2000(%rax), %ecx
movzwl %cx, %ecx
cmpl $0xfbff, %ecx           # imm = 0xFBFF
jbe 0x2ba94
movzwl %ax, %edx
movq %rbx, %rdi
movl %ebp, %esi
callq 0x2bd14
addq $0x4, 0x12f0(%rbx)
jmp 0x2b89c
testl %edx, %edx
je 0x2b8a7
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 0x2562(%rip), %rsi      # 0x2de26
leaq 0x258a(%rip), %rdx      # 0x2de55
leaq 0x8(%rsp), %rdi
callq 0x19f80
movb $0x1, %bpl
leaq 0x2219(%rip), %rsi      # 0x2daf8
leaq 0x2570(%rip), %rdx      # 0x2de56
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0xdf, %ecx
callq 0x2bf1c
leaq 0xd471(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd449(%rip), %rsi      # 0x38d58
leaq -0x11778(%rip), %rdx    # 0x1a19e
movq %rbx, %rdi
callq 0x13410
jmp 0x2bb0b
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x25ca(%rip), %rsi      # 0x2df0a
leaq 0x2611(%rip), %rdx      # 0x2df58
leaq 0x8(%rsp), %rdi
callq 0x19f80
movb $0x1, %bpl
leaq 0x219d(%rip), %rsi      # 0x2daf8
leaq 0x24f4(%rip), %rdx      # 0x2de56
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x10c, %ecx            # imm = 0x10C
callq 0x2bf1c
leaq 0xd3f5(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd3cd(%rip), %rsi      # 0x38d58
leaq -0x117f4(%rip), %rdx    # 0x1a19e
movq %rbx, %rdi
callq 0x13410
jmp 0x2bb0b
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x24a7(%rip), %rsi      # 0x2de63
leaq 0x24ef(%rip), %rdx      # 0x2deb2
leaq 0x8(%rsp), %rdi
callq 0x19f80
movb $0x1, %bpl
leaq 0x2121(%rip), %rsi      # 0x2daf8
leaq 0x2478(%rip), %rdx      # 0x2de56
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0xfc, %ecx
callq 0x2bf1c
leaq 0xd379(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd351(%rip), %rsi      # 0x38d58
leaq -0x11870(%rip), %rdx    # 0x1a19e
movq %rbx, %rdi
callq 0x13410
jmp 0x2bb0b
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x242b(%rip), %rsi      # 0x2de63
leaq 0x2473(%rip), %rdx      # 0x2deb2
leaq 0x8(%rsp), %rdi
callq 0x19f80
movb $0x1, %bpl
leaq 0x20a5(%rip), %rsi      # 0x2daf8
leaq 0x23fc(%rip), %rdx      # 0x2de56
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x100, %ecx            # imm = 0x100
callq 0x2bf1c
leaq 0xd2fd(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd2d5(%rip), %rsi      # 0x38d58
leaq -0x118ec(%rip), %rdx    # 0x1a19e
movq %rbx, %rdi
callq 0x13410
jmp 0x2bb0b
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x2402(%rip), %rsi      # 0x2deb3
leaq 0x2451(%rip), %rdx      # 0x2df09
leaq 0x8(%rsp), %rdi
callq 0x19f80
movb $0x1, %bpl
leaq 0x202c(%rip), %rsi      # 0x2daf8
leaq 0x2383(%rip), %rdx      # 0x2de56
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x105, %ecx            # imm = 0x105
callq 0x2bf1c
leaq 0xd284(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd25c(%rip), %rsi      # 0x38d58
leaq -0x11965(%rip), %rdx    # 0x1a19e
movq %rbx, %rdi
callq 0x13410
jmp 0x2bb1b
jmp 0x2bb3c
jmp 0x2bb1b
jmp 0x2bb3c
jmp 0x2bb1b
jmp 0x2bb3c
jmp 0x2bb1b
jmp 0x2bb3c
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2bb35
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
testb %bpl, %bpl
jne 0x2bb3f
jmp 0x2bb47
movq %rax, %r14
movq %rbx, %rdi
callq 0x131e0
movq %r14, %rdi
callq 0x13430
nop