LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> swxJson::Json::wantSet<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::set<T, Compare, Alloc> wantSet(const std::string& path, const std::string& delim = "./")
	{
		JsonPtr node = getNode(path, delim);
		if (node)
			return node->wantSet<T, Compare, Alloc>();
		
		throw JSON_ERROR_MSG(JosnNodeNotExistError, "Target node doesn't exist.");
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x22126
movq (%r14), %rsi
testq %rsi, %rsi
je 0x1eac3
movq %rbx, %rdi
callq 0x1eb86
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1eab5
callq 0x19f34
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xeb1a(%rip), %rsi      # 0x2d5fa
leaq 0xeb2d(%rip), %rdx      # 0x2d614
leaq 0x18(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0xead4(%rip), %rsi      # 0x2d5cf
leaq 0xebbf(%rip), %rdx      # 0x2d6c1
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x408, %ecx            # imm = 0x408
callq 0x2c1b8
leaq 0x1a125(%rip), %rax     # 0x38c40
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0x1a0ad(%rip), %rsi     # 0x38bd8
leaq -0x4974(%rip), %rdx     # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x1eb5c
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x1eb5c
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x1eb6e
movq %rbx, %rdi
callq 0x131e0
jmp 0x1eb6e
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1eb7d
callq 0x19f34
movq %r14, %rdi
callq 0x13430
nop
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> swxJson::Json::wantSet<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>()
std::set<T, Compare, Alloc> wantSet()
	{
		if (_type != JSON_Array)
			throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

		std::list<JsonPtr>* data = (std::list<JsonPtr>*)_data;
		std::set<T, Compare, Alloc> res;

		for (auto& node: *data)
			res.insert((T)(*node));

		return res;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
cmpl $0x1, (%rsi)
jne 0x1ec18
movq %rdi, %rbx
movq 0x8(%rsi), %r15
leaq 0x8(%rdi), %rax
movl $0x0, 0x8(%rdi)
xorl %ecx, %ecx
movq %rcx, 0x10(%rdi)
movq %rax, 0x18(%rdi)
movq %rax, 0x20(%rdi)
movq %rcx, 0x28(%rdi)
movq (%r15), %r13
cmpq %r15, %r13
je 0x1ec06
leaq 0x18(%rsp), %r12
leaq 0x8(%rsp), %r14
movq 0x10(%r13), %rsi
movq %r14, %rdi
callq 0x24b82
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1ecf0
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x1ebfd
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
movq (%r13), %r13
cmpq %r15, %r13
jne 0x1ebcf
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xe9e0(%rip), %rsi      # 0x2d615
leaq 0xe9ee(%rip), %rdx      # 0x2d62a
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0xe97f(%rip), %rsi      # 0x2d5cf
leaq 0xea6a(%rip), %rdx      # 0x2d6c1
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x38c, %ecx            # imm = 0x38C
callq 0x2c1b8
leaq 0x19f80(%rip), %rax     # 0x38bf0
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0x19f40(%rip), %rsi     # 0x38bc0
leaq -0x4ac9(%rip), %rdx     # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1ecb1
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x1ecb1
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x1ece7
movq %rbx, %rdi
callq 0x131e0
jmp 0x1ece7
movq %rax, %r14
jmp 0x1ecdf
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x1ecdf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
movq %rbx, %rdi
callq 0x1ee82
movq %r14, %rdi
callq 0x13430
nop
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::unordered_set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> swxJson::Json::wantUnorderedSet<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::unordered_set<Key, Hash, Pred, Alloc> wantUnorderedSet(const std::string& path, const std::string& delim = "./")
	{
		JsonPtr node = getNode(path, delim);
		if (node)
			return node->wantUnorderedSet<Key, Hash, Pred, Alloc>();
		
		throw JSON_ERROR_MSG(JosnNodeNotExistError, "Target node doesn't exist.");
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x22126
movq (%r14), %rsi
testq %rsi, %rsi
je 0x1f2d3
movq %rbx, %rdi
callq 0x1f396
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1f2c5
callq 0x19f34
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xe30a(%rip), %rsi      # 0x2d5fa
leaq 0xe31d(%rip), %rdx      # 0x2d614
leaq 0x18(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0xe2c4(%rip), %rsi      # 0x2d5cf
leaq 0xe3b7(%rip), %rdx      # 0x2d6c9
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x412, %ecx            # imm = 0x412
callq 0x2c1b8
leaq 0x19915(%rip), %rax     # 0x38c40
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0x1989d(%rip), %rsi     # 0x38bd8
leaq -0x5184(%rip), %rdx     # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x1f36c
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x1f36c
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x1f37e
movq %rbx, %rdi
callq 0x131e0
jmp 0x1f37e
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1f38d
callq 0x19f34
movq %r14, %rdi
callq 0x13430
nop
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::unordered_set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> swxJson::Json::wantUnorderedSet<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>()
std::unordered_set<Key, Hash, Pred, Alloc> wantUnorderedSet()
	{
		if (_type != JSON_Array)
			throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

		std::list<JsonPtr>* data = (std::list<JsonPtr>*)_data;
		std::unordered_set<Key, Hash, Pred, Alloc> res;

		for (auto& node: *data)
			res.insert((Key)(*node));

		return res;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
cmpl $0x1, (%rsi)
jne 0x1f43b
movq %rdi, %rbx
movq 0x8(%rsi), %r12
leaq 0x30(%rdi), %rax
movq %rax, (%rdi)
movq $0x1, 0x8(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rdi)
movl $0x3f800000, 0x20(%rdi) # imm = 0x3F800000
movups %xmm0, 0x28(%rdi)
movq (%r12), %rbp
cmpq %r12, %rbp
je 0x1f429
leaq 0x10(%rsp), %r13
movq %rsp, %r14
leaq 0x20(%rsp), %r15
movq 0x10(%rbp), %rsi
movq %r14, %rdi
callq 0x24b82
movq %rbx, 0x20(%rsp)
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x1f50c
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x1f420
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x132a0
movq (%rbp), %rbp
cmpq %r12, %rbp
jne 0x1f3eb
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xe1bd(%rip), %rsi      # 0x2d615
leaq 0xe1cb(%rip), %rdx      # 0x2d62a
movq %rsp, %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0xe15e(%rip), %rsi      # 0x2d5cf
leaq 0xe251(%rip), %rdx      # 0x2d6c9
movq %rsp, %r8
movq %rbx, %rdi
movl $0x39b, %ecx            # imm = 0x39B
callq 0x2c1b8
leaq 0x19761(%rip), %rax     # 0x38bf0
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0x19721(%rip), %rsi     # 0x38bc0
leaq -0x52e8(%rip), %rdx     # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x1f4cf
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x1f4cf
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x1f504
movq %rbx, %rdi
callq 0x131e0
jmp 0x1f504
movq %rax, %r14
jmp 0x1f4fc
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r13, %rdi
je 0x1f4fc
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x132a0
movq %rbx, %rdi
callq 0x1f938
movq %r14, %rdi
callq 0x13430
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>> swxJson::Json::wantDict<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::map<std::string, T, Compare, Alloc> wantDict(const std::string& path, const std::string& delim = "./")
	{
		JsonPtr node = getNode(path, delim);
		if (node)
			return node->wantDict<T, Compare, Alloc>();
		
		throw JSON_ERROR_MSG(JosnNodeNotExistError, "Target node doesn't exist.");
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x22126
movq (%r14), %rsi
testq %rsi, %rsi
je 0x1ff75
movq %rbx, %rdi
callq 0x20038
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1ff67
callq 0x19f34
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xd668(%rip), %rsi      # 0x2d5fa
leaq 0xd67b(%rip), %rdx      # 0x2d614
leaq 0x18(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0xd622(%rip), %rsi      # 0x2d5cf
leaq 0xd726(%rip), %rdx      # 0x2d6da
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x41c, %ecx            # imm = 0x41C
callq 0x2c1b8
leaq 0x18c73(%rip), %rax     # 0x38c40
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0x18bfb(%rip), %rsi     # 0x38bd8
leaq -0x5e26(%rip), %rdx     # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x2000e
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2000e
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x20020
movq %rbx, %rdi
callq 0x131e0
jmp 0x20020
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2002f
callq 0x19f34
movq %r14, %rdi
callq 0x13430
nop
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>> swxJson::Json::wantDict<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>()
std::map<std::string, T, Compare, Alloc> wantDict()
	{
		if (_type != JSON_Object)
			throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

		std::map<std::string, JsonPtr>* data = (std::map<std::string, JsonPtr>*)_data;
		std::map<std::string, T, Compare, Alloc> res;

		for (auto& npair: *data)
			res[npair.first] = (T)(*(npair.second));

		return res;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
cmpl $0x0, (%rsi)
jne 0x200e7
movq %rdi, %rbx
movq 0x8(%rsi), %r12
leaq 0x8(%rdi), %rax
movl $0x0, 0x8(%rdi)
xorl %ecx, %ecx
movq %rcx, 0x10(%rdi)
movq %rax, 0x18(%rdi)
movq %rax, 0x20(%rdi)
movq %rcx, 0x28(%rdi)
movq 0x18(%r12), %r14
addq $0x8, %r12
cmpq %r12, %r14
je 0x200d5
leaq 0x18(%rsp), %r13
leaq 0x8(%rsp), %r15
movq 0x40(%r14), %rsi
movq %r15, %rdi
callq 0x24b82
leaq 0x20(%r14), %rsi
movq %rbx, %rdi
callq 0x201be
movq %rax, %rdi
movq %r15, %rsi
callq 0x13310
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x200c5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
movq %r14, %rdi
callq 0x131a0
movq %rax, %r14
cmpq %r12, %rax
jne 0x2008b
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xd511(%rip), %rsi      # 0x2d615
leaq 0xd51f(%rip), %rdx      # 0x2d62a
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0xd4b0(%rip), %rsi      # 0x2d5cf
leaq 0xd5b4(%rip), %rdx      # 0x2d6da
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x3aa, %ecx            # imm = 0x3AA
callq 0x2c1b8
leaq 0x18ab1(%rip), %rax     # 0x38bf0
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0x18a71(%rip), %rsi     # 0x38bc0
leaq -0x5f98(%rip), %rdx     # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x20180
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x20180
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x201b6
movq %rbx, %rdi
callq 0x131e0
jmp 0x201b6
movq %rax, %r14
jmp 0x201ae
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x201ae
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
movq %rbx, %rdi
callq 0x205ee
movq %r14, %rdi
callq 0x13430
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>> swxJson::Json::wantUnorderedDict<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::unordered_map<std::string, T, Hash, Pred, Alloc> wantUnorderedDict(const std::string& path, const std::string& delim = "./")
	{
		JsonPtr node = getNode(path, delim);
		if (node)
			return node->wantUnorderedDict<T, Hash, Pred, Alloc>();
		
		throw JSON_ERROR_MSG(JosnNodeNotExistError, "Target node doesn't exist.");
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x22126
movq (%r14), %rsi
testq %rsi, %rsi
je 0x20d19
movq %rbx, %rdi
callq 0x20ddc
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x20d0b
callq 0x19f34
movq %rbx, %rax
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xc8c4(%rip), %rsi      # 0x2d5fa
leaq 0xc8d7(%rip), %rdx      # 0x2d614
leaq 0x18(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0xc87e(%rip), %rsi      # 0x2d5cf
leaq 0xc98b(%rip), %rdx      # 0x2d6e3
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x426, %ecx            # imm = 0x426
callq 0x2c1b8
leaq 0x17ecf(%rip), %rax     # 0x38c40
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0x17e57(%rip), %rsi     # 0x38bd8
leaq -0x6bca(%rip), %rdx     # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x20db2
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x20db2
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x20dc4
movq %rbx, %rdi
callq 0x131e0
jmp 0x20dc4
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x20dd3
callq 0x19f34
movq %r14, %rdi
callq 0x13430
nop
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::insertNode(std::shared_ptr<swxJson::Json>)
JsonPtr insertNode(JsonPtr node)
	{
		if (_nodeStack.empty())
			return node;
	
		if (_wantValue)
			fillValue(node);
		else
		{
			_nodeStack.top()->pushNode(node);
			_wantComma = true;
		}
		
		return nullptr;
	}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
movq 0x12a8(%rsi), %rax
cmpq 0x1288(%rsi), %rax
je 0x29d43
movq %rsi, %r14
cmpb $0x1, 0x12e9(%rsi)
jne 0x29d5b
movq (%rdx), %rax
movq %rax, 0x18(%rsp)
movq 0x8(%rdx), %rax
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0x29da3
movq 0xf297(%rip), %rcx      # 0x38fd0
cmpb $0x0, (%rcx)
je 0x29d9f
incl 0x8(%rax)
jmp 0x29da3
xorl %eax, %eax
movq %rax, 0x8(%rbx)
movups (%rdx), %xmm0
movq %rax, 0x8(%rdx)
movups %xmm0, (%rbx)
movq %rax, (%rdx)
jmp 0x29dec
cmpq 0x12b0(%r14), %rax
jne 0x29d74
movq 0x12c0(%r14), %rcx
movl $0x200, %eax            # imm = 0x200
addq -0x8(%rcx), %rax
movq -0x10(%rax), %rdi
movq (%rdx), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rdx), %rax
movq %rax, 0x10(%rsp)
testq %rax, %rax
je 0x29dc5
movq 0xf23b(%rip), %rcx      # 0x38fd0
cmpb $0x0, (%rcx)
je 0x29dc1
incl 0x8(%rax)
jmp 0x29dc5
lock
incl 0x8(%rax)
leaq 0x18(%rsp), %rsi
movq %r14, %rdi
callq 0x2a6cc
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x29de6
callq 0x19f34
jmp 0x29de6
lock
incl 0x8(%rax)
leaq 0x8(%rsp), %rsi
callq 0x22e56
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x29dde
callq 0x19f34
movb $0x1, 0x12ea(%r14)
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
movq %rax, %rbx
movq 0x10(%rsp), %rdi
jmp 0x29e09
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x29e13
callq 0x19f34
movq %rbx, %rdi
callq 0x13430
nop
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::JsonParser()
JsonParser(): _numberChars("0123456789+-.eE"), _pos(0)
	{
		_wantKey = false;
		_wantValue = false;
		_wantComma = false;
		_wantSemicolon = false;

		for (int i = 0; i < 256; i++)
			_callMap[i] = &JsonParser::generalProcess;

		_callMap[(uint8_t)'{'] = &JsonParser::enterObject;
		_callMap[(uint8_t)'}'] = &JsonParser::exitObject;
		_callMap[(uint8_t)'['] = &JsonParser::enterArray;
		_callMap[(uint8_t)']'] = &JsonParser::exitArray;
		_callMap[(uint8_t)','] = &JsonParser::processComma;
		_callMap[(uint8_t)':'] = &JsonParser::processSemicolon;
		_callMap[(uint8_t)'"'] = &JsonParser::processString;
	}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
leaq 0x10(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x37e2(%rip), %rsi      # 0x2dc80
leaq 0x37ea(%rip), %rdx      # 0x2dc8f
movq %rsp, %r12
movq %r12, %rdi
callq 0x19fa4
leaq 0x1000(%rbx), %r15
movq (%r12), %r14
movq 0x8(%r12), %r12
movl $0x100, %edx            # imm = 0x100
movq %r15, %rdi
xorl %esi, %esi
callq 0x13150
testl %r12d, %r12d
jle 0x2a4ef
andl $0x7fffffff, %r12d      # imm = 0x7FFFFFFF
xorl %eax, %eax
movzbl (%r14,%rax), %ecx
movb $0x1, (%r15,%rcx)
incq %rax
cmpq %rax, %r12
jne 0x2a4dd
cmpq %r13, %r14
je 0x2a504
movq 0x10(%rsp), %rsi
incq %rsi
movq %r14, %rdi
callq 0x132a0
leaq 0x1100(%rbx), %r14
movq %r14, %rdi
callq 0x13350
leaq 0x1278(%rbx), %rdi
xorps %xmm0, %xmm0
movups %xmm0, 0x12b8(%rbx)
movups %xmm0, 0x12a8(%rbx)
movups %xmm0, 0x1298(%rbx)
movups %xmm0, 0x1288(%rbx)
movups %xmm0, 0x1278(%rbx)
xorl %esi, %esi
callq 0x2b282
leaq 0x12d8(%rbx), %rax
movq %rax, 0x12c8(%rbx)
xorl %eax, %eax
movq %rax, 0x12d0(%rbx)
movb $0x0, 0x12d8(%rbx)
movq %rax, 0x12f0(%rbx)
movl $0x0, 0x12e8(%rbx)
leaq -0xf61(%rip), %rcx      # 0x2961c
movq %rcx, (%rbx,%rax)
movq $0x0, 0x8(%rbx,%rax)
addq $0x10, %rax
cmpq $0x1000, %rax           # imm = 0x1000
jne 0x2a57d
leaq 0x2c3(%rip), %rax       # 0x2a860
movq %rax, 0x7b0(%rbx)
xorl %eax, %eax
movq %rax, 0x7b8(%rbx)
leaq 0x494(%rip), %rcx       # 0x2aa48
movq %rcx, 0x7d0(%rbx)
movq %rax, 0x7d8(%rbx)
leaq 0x59b(%rip), %rcx       # 0x2ab64
movq %rcx, 0x5b0(%rbx)
movq %rax, 0x5b8(%rbx)
leaq 0x76e(%rip), %rcx       # 0x2ad4c
movq %rcx, 0x5d0(%rbx)
movq %rax, 0x5d8(%rbx)
leaq 0x875(%rip), %rcx       # 0x2ae68
movq %rcx, 0x2c0(%rbx)
movq %rax, 0x2c8(%rbx)
leaq 0x974(%rip), %rcx       # 0x2af7c
movq %rcx, 0x3a0(%rbx)
movq %rax, 0x3a8(%rbx)
leaq 0xa49(%rip), %rcx       # 0x2b066
movq %rcx, 0x220(%rbx)
movq %rax, 0x228(%rbx)
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq %rax, %r15
movq 0xe985(%rip), %rsi      # 0x38fc8
movq %r14, %rdi
callq 0x13130
addq $0x1170, %rbx           # imm = 0x1170
movq %rbx, %rdi
callq 0x130b0
movq %r15, %rdi
callq 0x13430
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::fillValue(std::shared_ptr<swxJson::Json>)
void fillValue(JsonPtr node)
	{
		if (_nodeStack.top()->addNode(_key, node) == false)
			throw JSON_ERROR_FMT(JosnInvalidContentError, "Json parser: content error, reduplicated key: %s.", _key.c_str());
		
		_wantKey = false;
		_wantValue = false;
		_wantComma = true;
		_wantSemicolon = false;
	}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rdi, %rbx
movq 0x12a8(%rdi), %rax
cmpq 0x12b0(%rdi), %rax
jne 0x2a6f7
movq 0x12c0(%rbx), %rcx
movl $0x200, %eax            # imm = 0x200
addq -0x8(%rcx), %rax
movq -0x10(%rax), %rdi
leaq 0x12c8(%rbx), %r14
movq (%rsi), %rax
movq %rax, (%rsp)
movq 0x8(%rsi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
je 0x2a72c
movq 0xe8b2(%rip), %rcx      # 0x38fd0
cmpb $0x0, (%rcx)
je 0x2a728
incl 0x8(%rax)
jmp 0x2a72c
lock
incl 0x8(%rax)
movq %rsp, %rdx
movq %r14, %rsi
callq 0x22a9e
movl %eax, %ebp
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2a748
callq 0x19f34
testb %bpl, %bpl
je 0x2a760
movl $0x10000, 0x12e8(%rbx)  # imm = 0x10000
addq $0x30, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
movq (%r14), %rdx
leaq 0x3451(%rip), %rsi      # 0x2dbc8
leaq 0x10(%rsp), %rdi
xorl %eax, %eax
callq 0x2c41a
movb $0x1, %bpl
leaq 0x336b(%rip), %rsi      # 0x2daf8
leaq 0x342a(%rip), %rdx      # 0x2dbbe
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
movl $0x42, %ecx
callq 0x2c1b8
leaq 0xe5c3(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xe59b(%rip), %rsi      # 0x38d58
leaq -0x10606(%rip), %rdx    # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2a7f2
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2a7f2
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x2a813
movq %rbx, %rdi
callq 0x131e0
jmp 0x2a813
movq %rax, %r14
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2a813
callq 0x19f34
movq %r14, %rdi
callq 0x13430
nop
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::enterObject()
JsonPtr enterObject()
	{
		if (_wantKey || _wantSemicolon || _wantComma)
			throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, '{' at improper place.");

		JsonPtr node(new Json());
		node->setDict();
		insertNode(node);
		_nodeStack.push(node);

		_wantKey = true;
		_wantValue = false;
		_wantComma = false;
		_wantSemicolon = false;

		_pos++;
		return nullptr;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
cmpb $0x0, 0x12e8(%rsi)
jne 0x2a971
movq %rsi, %r14
cmpb $0x0, 0x12eb(%rsi)
jne 0x2a971
cmpb $0x1, 0x12ea(%r14)
je 0x2a971
movq %rdi, %rbx
movl $0x10, %edi
callq 0x13290
movl $0x8, (%rax)
movq $0x0, 0x8(%rax)
leaq 0x10(%rsp), %r15
movq %rax, -0x8(%r15)
movq %r15, %rdi
movq %rax, %rsi
callq 0x27cd8
movq -0x8(%r15), %rdi
callq 0x2292e
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x28(%rsp)
movq %rax, 0x30(%rsp)
testq %rax, %rax
je 0x2a8fb
movq 0xe6e3(%rip), %rcx      # 0x38fd0
cmpb $0x0, (%rcx)
je 0x2a8f7
incl 0x8(%rax)
jmp 0x2a8fb
lock
incl 0x8(%rax)
leaq 0x38(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %r14, %rsi
callq 0x29cf6
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2a91c
callq 0x19f34
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2a92b
callq 0x19f34
leaq 0x1278(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x2b3fa
movl $0x1, 0x12e8(%r14)
incq 0x12f0(%r14)
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2a963
callq 0x19f34
movq %rbx, %rax
addq $0x48, %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 0x330e(%rip), %rsi      # 0x2dc9c
leaq 0x3339(%rip), %rdx      # 0x2dcce
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0x314f(%rip), %rsi      # 0x2daf8
leaq 0x32e0(%rip), %rdx      # 0x2dc90
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x24, %ecx
callq 0x2c1b8
leaq 0xe3a7(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xe37f(%rip), %rsi      # 0x38d58
leaq -0x10822(%rip), %rdx    # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2aa30
callq 0x19f34
jmp 0x2aa30
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2aa1e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2aa1e
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x2aa3f
movq %rbx, %rdi
callq 0x131e0
jmp 0x2aa3f
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2aa3f
callq 0x19f34
movq %r14, %rdi
callq 0x13430
nop
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::exitObject()
JsonPtr exitObject()
	{
		if (_wantSemicolon || _wantValue || _nodeStack.empty() || _nodeStack.top()->type() != Json::JSON_Object)
			throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, '}' at improper place.");

		_pos++;
		return finishNode();
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
cmpb $0x0, 0x12eb(%rsi)
jne 0x2aab6
cmpb $0x0, 0x12e9(%rsi)
jne 0x2aab6
movq 0x12a8(%rsi), %rax
cmpq 0x1288(%rsi), %rax
je 0x2aab6
movq %rdi, %rbx
cmpq 0x12b0(%rsi), %rax
jne 0x2aa90
movq 0x12c0(%rsi), %rcx
movl $0x200, %eax            # imm = 0x200
addq -0x8(%rcx), %rax
movq -0x10(%rax), %rax
cmpl $0x0, (%rax)
jne 0x2aab6
incq 0x12f0(%rsi)
movq %rbx, %rdi
callq 0x2b678
movq %rbx, %rax
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 0x3207(%rip), %rsi      # 0x2dcda
leaq 0x3232(%rip), %rdx      # 0x2dd0c
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0x300a(%rip), %rsi      # 0x2daf8
leaq 0x31da(%rip), %rdx      # 0x2dccf
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x4d, %ecx
callq 0x2c1b8
leaq 0xe262(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xe23a(%rip), %rsi      # 0x38d58
leaq -0x10967(%rip), %rdx    # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2ab4f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2ab4f
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x2ab5c
movq %rbx, %rdi
callq 0x131e0
movq %r14, %rdi
callq 0x13430
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::enterArray()
JsonPtr enterArray()
	{
		if (_wantKey || _wantSemicolon || _wantComma)
			throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, '[' at improper place.");

		JsonPtr node(new Json());
		node->setArray();
		insertNode(node);
		_nodeStack.push(node);

		_wantKey = false;
		_wantValue = false;
		_wantComma = false;
		_wantSemicolon = false;

		_pos++;
		return nullptr;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
cmpb $0x0, 0x12e8(%rsi)
jne 0x2ac75
movq %rsi, %r14
cmpb $0x0, 0x12eb(%rsi)
jne 0x2ac75
cmpb $0x1, 0x12ea(%r14)
je 0x2ac75
movq %rdi, %rbx
movl $0x10, %edi
callq 0x13290
movl $0x8, (%rax)
movq $0x0, 0x8(%rax)
leaq 0x10(%rsp), %r15
movq %rax, -0x8(%r15)
movq %r15, %rdi
movq %rax, %rsi
callq 0x27cd8
movq -0x8(%r15), %rdi
callq 0x22dfc
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x28(%rsp)
movq %rax, 0x30(%rsp)
testq %rax, %rax
je 0x2abff
movq 0xe3df(%rip), %rcx      # 0x38fd0
cmpb $0x0, (%rcx)
je 0x2abfb
incl 0x8(%rax)
jmp 0x2abff
lock
incl 0x8(%rax)
leaq 0x38(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %r14, %rsi
callq 0x29cf6
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2ac20
callq 0x19f34
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2ac2f
callq 0x19f34
leaq 0x1278(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x2b3fa
movl $0x0, 0x12e8(%r14)
incq 0x12f0(%r14)
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2ac67
callq 0x19f34
movq %rbx, %rax
addq $0x48, %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 0x3086(%rip), %rsi      # 0x2dd18
leaq 0x30b1(%rip), %rdx      # 0x2dd4a
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0x2e4b(%rip), %rsi      # 0x2daf8
leaq 0x3059(%rip), %rdx      # 0x2dd0d
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x56, %ecx
callq 0x2c1b8
leaq 0xe0a3(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xe07b(%rip), %rsi      # 0x38d58
leaq -0x10b26(%rip), %rdx    # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2ad34
callq 0x19f34
jmp 0x2ad34
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2ad22
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2ad22
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x2ad43
movq %rbx, %rdi
callq 0x131e0
jmp 0x2ad43
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2ad43
callq 0x19f34
movq %r14, %rdi
callq 0x13430
nop
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::exitArray()
JsonPtr exitArray()
	{
		if (_wantSemicolon || _wantValue || _nodeStack.empty() || _nodeStack.top()->type() != Json::JSON_Array)
			throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, ']' at improper place.");

		_pos++;
		return finishNode();
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
cmpb $0x0, 0x12eb(%rsi)
jne 0x2adba
cmpb $0x0, 0x12e9(%rsi)
jne 0x2adba
movq 0x12a8(%rsi), %rax
cmpq 0x1288(%rsi), %rax
je 0x2adba
movq %rdi, %rbx
cmpq 0x12b0(%rsi), %rax
jne 0x2ad94
movq 0x12c0(%rsi), %rcx
movl $0x200, %eax            # imm = 0x200
addq -0x8(%rcx), %rax
movq -0x10(%rax), %rax
cmpl $0x1, (%rax)
jne 0x2adba
incq 0x12f0(%rsi)
movq %rbx, %rdi
callq 0x2b678
movq %rbx, %rax
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 0x2f7e(%rip), %rsi      # 0x2dd55
leaq 0x2fa9(%rip), %rdx      # 0x2dd87
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0x2d06(%rip), %rsi      # 0x2daf8
leaq 0x2f52(%rip), %rdx      # 0x2dd4b
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x69, %ecx
callq 0x2c1b8
leaq 0xdf5e(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xdf36(%rip), %rsi      # 0x38d58
leaq -0x10c6b(%rip), %rdx    # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2ae53
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2ae53
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x2ae60
movq %rbx, %rdi
callq 0x131e0
movq %r14, %rdi
callq 0x13430
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::processComma()
JsonPtr processComma()
	{
		if (_wantComma == false)
			throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, ',' at error position.");

		_wantComma = false;
		if (_nodeStack.top()->type() == Json::JSON_Object)
			_wantKey = true;

		_pos++;
		return nullptr;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
cmpb $0x0, 0x12ea(%rsi)
je 0x2aecd
movb $0x0, 0x12ea(%rsi)
movq 0x12a8(%rsi), %rax
cmpq 0x12b0(%rsi), %rax
jne 0x2aea2
movq 0x12c0(%rsi), %rcx
movl $0x200, %eax            # imm = 0x200
addq -0x8(%rcx), %rax
movq -0x10(%rax), %rax
cmpl $0x0, (%rax)
jne 0x2aeb2
movb $0x1, 0x12e8(%rsi)
incq 0x12f0(%rsi)
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq %rdi, %rax
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 0x2eab(%rip), %rsi      # 0x2dd95
leaq 0x2ed6(%rip), %rdx      # 0x2ddc7
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0x2bf3(%rip), %rsi      # 0x2daf8
leaq 0x2e7c(%rip), %rdx      # 0x2dd88
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x16d, %ecx            # imm = 0x16D
callq 0x2c1b8
leaq 0xde4b(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xde23(%rip), %rsi      # 0x38d58
leaq -0x10d7e(%rip), %rdx    # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2af66
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2af66
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x2af73
movq %rbx, %rdi
callq 0x131e0
movq %r14, %rdi
callq 0x13430
nop
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::processSemicolon()
JsonPtr processSemicolon()
	{
		if (_wantSemicolon == false)
			throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, ':' at error position.");

		_wantSemicolon = false;
		_wantValue = true;
		_pos++;
		return nullptr;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
cmpb $0x0, 0x12eb(%rsi)
je 0x2afb8
movb $0x0, 0x12eb(%rsi)
movb $0x1, 0x12e9(%rsi)
incq 0x12f0(%rsi)
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq %rdi, %rax
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 0x2e04(%rip), %rsi      # 0x2ddd9
leaq 0x2e2f(%rip), %rdx      # 0x2de0b
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0x2b08(%rip), %rsi      # 0x2daf8
leaq 0x2dd1(%rip), %rdx      # 0x2ddc8
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x17a, %ecx            # imm = 0x17A
callq 0x2c1b8
leaq 0xdd60(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xdd38(%rip), %rsi      # 0x38d58
leaq -0x10e69(%rip), %rdx    # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2b051
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2b051
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x2b05e
movq %rbx, %rdi
callq 0x131e0
movq %r14, %rdi
callq 0x13430
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::processString()
JsonPtr processString()
	{
		if(_wantComma || _wantSemicolon)
				throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error.");

		std::string str = fetchString();
		
		if (_wantKey)
		{
			fillKey(str);
			return nullptr;
		}
		else
		{
			JsonPtr node(new Json(str));
			return insertNode(node);
		}
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
cmpb $0x0, 0x12ea(%rsi)
jne 0x2b17e
movq %rsi, %r14
cmpb $0x1, 0x12eb(%rsi)
je 0x2b17e
movq %rdi, %rbx
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
callq 0x2b7b4
cmpb $0x1, 0x12e8(%r14)
jne 0x2b0ce
leaq 0x12c8(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x131d0
movl $0x1000000, 0x12e8(%r14) # imm = 0x1000000
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
jmp 0x2b155
movl $0x10, %edi
callq 0x13290
movq %rax, %r15
leaq 0x8(%rsp), %rsi
movq %rax, %rdi
callq 0x27afe
leaq 0x40(%rsp), %rdi
movq %r15, -0x8(%rdi)
movq %r15, %rsi
callq 0x27cd8
movq 0x38(%rsp), %rcx
movq 0x40(%rsp), %rax
movq %rcx, 0x28(%rsp)
movq %rax, 0x30(%rsp)
testq %rax, %rax
je 0x2b127
movq 0xdeb7(%rip), %rcx      # 0x38fd0
cmpb $0x0, (%rcx)
je 0x2b123
incl 0x8(%rax)
jmp 0x2b127
lock
incl 0x8(%rax)
leaq 0x28(%rsp), %rdx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x29cf6
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2b146
callq 0x19f34
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2b155
callq 0x19f34
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b170
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0x13110
movq %rax, %r14
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x297e(%rip), %rsi      # 0x2db19
leaq 0x2992(%rip), %rdx      # 0x2db34
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0x2942(%rip), %rsi      # 0x2daf8
leaq 0x2c4f(%rip), %rdx      # 0x2de0c
leaq 0x8(%rsp), %r8
movq %r14, %rdi
movl $0x15a, %ecx            # imm = 0x15A
callq 0x2c1b8
leaq 0xdb9a(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xdb72(%rip), %rsi      # 0x38d58
leaq -0x1102f(%rip), %rdx    # 0x1a1be
movq %r14, %rdi
callq 0x13410
movq %rax, %rbx
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2b207
callq 0x19f34
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2b22d
callq 0x19f34
jmp 0x2b22d
movq %rax, %rbx
movl $0x10, %esi
movq %r15, %rdi
callq 0x132a0
jmp 0x2b22d
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2b279
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2b279
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2b26c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2b26c
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x2b279
movq %r14, %rdi
callq 0x131e0
movq %rbx, %rdi
callq 0x13430
nop
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::finishNode()
JsonPtr finishNode()
	{
		if (_nodeStack.size() == 1)
		{
			JsonPtr root = _nodeStack.top();
			_nodeStack.pop();
			return root;
		}
		else
		{
			_nodeStack.pop();
			
			_wantKey = false;
			_wantValue = false;
			_wantComma = true;
			_wantSemicolon = false;
		}
		
		return nullptr;
	}

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x1278(%rsi), %rdi
movq 0x12c0(%rsi), %rax
movq %rax, %rsi
subq 0x12a0(%r14), %rsi
shrq $0x3, %rsi
cmpq $0x1, %rax
adcq $-0x1, %rsi
shlq $0x5, %rsi
movq 0x1298(%r14), %r8
movq 0x12a8(%r14), %rcx
movq 0x12b0(%r14), %rdx
movq %rcx, %r9
subq %rdx, %r9
sarq $0x4, %r9
subq 0x1288(%r14), %r8
sarq $0x4, %r8
addq %r9, %r8
addq %rsi, %r8
cmpq $0x1, %r8
jne 0x2b713
cmpq %rdx, %rcx
jne 0x2b6ee
movl $0x200, %ecx            # imm = 0x200
addq -0x8(%rax), %rcx
movq -0x10(%rcx), %rax
movq %rax, (%rbx)
movq -0x8(%rcx), %rax
movq %rax, 0x8(%rbx)
testq %rax, %rax
je 0x2b72f
movq 0xd8c7(%rip), %rcx      # 0x38fd0
cmpb $0x0, (%rcx)
je 0x2b72b
incl 0x8(%rax)
jmp 0x2b72f
callq 0x2b740
movl $0x10000, 0x12e8(%r14) # imm = 0x10000
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
jmp 0x2b734
lock
incl 0x8(%rax)
callq 0x2b740
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r14
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::fetchString[abi:cxx11]()
std::string fetchString()
	{
		_pos++;
		char *_start = _pos;

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

			else if (*_pos == '\\')
			{
				_outStringStream.write(_start, _pos - _start);
				processSlash();
				_start = _pos;
			}
			else if (*_pos == '"')
			{
				if (_outStringStream.tellp() == 0)
				{
					std::string str(_start, _pos - _start);
					_pos++;
					return str;
				}
				else
				{
					_outStringStream.write(_start, _pos - _start);
					std::string str = _outStringStream.str();
					_outStringStream.str("");
					_pos++;
					return str;
				}
			}
			else
				_pos++;
		}
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq 0x12f0(%rsi), %r15
incq %r15
movq %r15, 0x12f0(%rsi)
leaq 0x1100(%rsi), %r12
movq 0x12f0(%r14), %rax
movq %rax, %rdx
subq %r15, %rdx
incq %rax
movzbl -0x1(%rax), %ecx
cmpl $0x22, %ecx
je 0x2b82c
cmpl $0x5c, %ecx
je 0x2b810
testl %ecx, %ecx
je 0x2b8cb
movq %rax, 0x12f0(%r14)
incq %rdx
jmp 0x2b7eb
movq %r12, %rdi
movq %r15, %rsi
callq 0x13330
movq %r14, %rdi
callq 0x2b9ac
movq 0x12f0(%r14), %r15
jmp 0x2b7de
movq %r12, %rdi
callq 0x13230
movq 0x12f0(%r14), %rdx
subq %r15, %rdx
testq %rax, %rax
je 0x2b89f
movq %r12, %rdi
movq %r15, %rsi
callq 0x13330
leaq 0x1108(%r14), %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0x133b0
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x1801(%rip), %rdx      # 0x2d072
movq %rsp, %rdi
movq %rdx, %rsi
callq 0x19fa4
movq %rsp, %rsi
movq %r15, %rdi
callq 0x13370
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x2b8b4
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2b8b4
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
addq %r15, %rdx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x19fa4
incq 0x12f0(%r14)
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0x13110
movq %rax, %rbx
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x253e(%rip), %rsi      # 0x2de26
leaq 0x2566(%rip), %rdx      # 0x2de55
movq %rsp, %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0x21f7(%rip), %rsi      # 0x2daf8
leaq 0x2512(%rip), %rdx      # 0x2de1a
movq %rsp, %r8
movq %rbx, %rdi
movl $0x11f, %ecx            # imm = 0x11F
callq 0x2c1b8
leaq 0xd451(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd429(%rip), %rsi      # 0x38d58
leaq -0x11778(%rip), %rdx    # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x2b95c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2b95c
movq %rax, %r14
movq (%rbx), %rdi
addq $0x10, %rbx
cmpq %rbx, %rdi
je 0x2b9a3
movq (%rbx), %rsi
incq %rsi
callq 0x132a0
jmp 0x2b9a3
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x2b996
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2b996
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x2b9a3
movq %rbx, %rdi
callq 0x131e0
movq %r14, %rdi
callq 0x13430
nop
// File: /workspace/github_cpp_makefile_star2_O1/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::parseUTF16Char()
uint16_t parseUTF16Char()
	{
		uint16_t utf16Char = 0;
		for (int i = 0; i < 4; i++)
		{
			char c = *(_pos + i);

			if (c <= '9' && c >= '0')
				c -= '0';
			else if (c <= 'f' && c>= 'a')
			{
				c -= 'a';
				c += 10;
			}
			else if (c <= 'F' && c>= 'A')
			{
				c -= 'A';
				c += 10;
			}
			else
				throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, uncompleted string.");

			utf16Char <<= 4;
			utf16Char += (uint16_t)c;
		}

		return utf16Char;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq 0x12f0(%rdi), %rcx
xorl %edx, %edx
xorl %eax, %eax
movb (%rcx,%rdx), %sil
leal -0x30(%rsi), %edi
cmpb $0xa, %dil
jb 0x2be36
leal -0x61(%rsi), %edi
cmpb $0x5, %dil
ja 0x2be27
addb $-0x57, %sil
jmp 0x2be34
leal -0x41(%rsi), %edi
cmpb $0x5, %dil
ja 0x2be55
addb $-0x37, %sil
movl %esi, %edi
shll $0x4, %eax
movzbl %dil, %esi
addl %eax, %esi
movl %esi, %eax
incq %rdx
cmpq $0x4, %rdx
jne 0x2be0b
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 0x1fb4(%rip), %rsi      # 0x2de26
leaq 0x1fdc(%rip), %rdx      # 0x2de55
leaq 0x8(%rsp), %rdi
callq 0x19fa4
movb $0x1, %bpl
leaq 0x1c6b(%rip), %rsi      # 0x2daf8
leaq 0x20c5(%rip), %rdx      # 0x2df59
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0xd1, %ecx
callq 0x2c1b8
leaq 0xcec3(%rip), %rax      # 0x38d70
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xce9b(%rip), %rsi      # 0x38d58
leaq -0x11d06(%rip), %rdx    # 0x1a1be
movq %rbx, %rdi
callq 0x13410
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x2beee
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x132a0
jmp 0x2beee
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x2befb
movq %rbx, %rdi
callq 0x131e0
movq %r14, %rdi
callq 0x13430
nop