LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::pushUInt(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Json::pushUInt(const std::string& path, uintmax_t value, const std::string& delim)
{
	JsonPtr node = createNode(path, delim, true);
	if (node->pushUInt(value))
		return;

	throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Target node is not array.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdx, %rbx
movq %rsi, %rdx
movq %rdi, %rsi
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x1, %r8d
callq 0x179da
movq (%r14), %rdi
movq %rbx, %rsi
callq 0x1c43e
testb %al, %al
je 0x18b45
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x18b3a
callq 0x16c72
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x7b97(%rip), %rsi      # 0x206f9
leaq 0x7ba9(%rip), %rdx      # 0x20712
leaq 0x18(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x7b2d(%rip), %rsi      # 0x206aa
leaq 0x7ba9(%rip), %rdx      # 0x2072d
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x2c1, %ecx            # imm = 0x2C1
callq 0x1eb2c
leaq 0xf163(%rip), %rax      # 0x27d00
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xf10b(%rip), %rsi      # 0x27cb8
leaq 0x39ea(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x18bd6
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x18be0
jmp 0x18bed
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
jmp 0x18bed
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x18bfc
callq 0x16c72
movq %r14, %rdi
callq 0xb3b0
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::pushString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Json::pushString(const std::string& path, const char* value, const std::string& delim)
{
	JsonPtr node = createNode(path, delim, true);
	if (node->pushString(value))
		return;

	throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Target node is not array.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdx, %rbx
movq %rsi, %rdx
movq %rdi, %rsi
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x1, %r8d
callq 0x179da
movq (%r14), %rdi
movq %rbx, %rsi
callq 0x16932
testb %al, %al
je 0x18c53
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x18c48
callq 0x16c72
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x7a89(%rip), %rsi      # 0x206f9
leaq 0x7a9b(%rip), %rdx      # 0x20712
leaq 0x18(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x7a1f(%rip), %rsi      # 0x206aa
leaq 0x7aa4(%rip), %rdx      # 0x20736
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x2ca, %ecx            # imm = 0x2CA
callq 0x1eb2c
leaq 0xf055(%rip), %rax      # 0x27d00
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xeffd(%rip), %rsi      # 0x27cb8
leaq 0x38dc(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x18ce4
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x18cee
jmp 0x18cfb
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
jmp 0x18cfb
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x18d0a
callq 0x16c72
movq %r14, %rdi
callq 0xb3b0
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::pushString(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::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Json::pushString(const std::string& path, const std::string& value, const std::string& delim)
{
	JsonPtr node = createNode(path, delim, true);
	if (node->pushString(value))
		return;

	throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Target node is not array.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdx, %rbx
movq %rsi, %rdx
movq %rdi, %rsi
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x1, %r8d
callq 0x179da
movq (%r14), %rdi
movq %rbx, %rsi
callq 0x16b40
testb %al, %al
je 0x18d61
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x18d56
callq 0x16c72
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x797b(%rip), %rsi      # 0x206f9
leaq 0x798d(%rip), %rdx      # 0x20712
leaq 0x18(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x7911(%rip), %rsi      # 0x206aa
leaq 0x7996(%rip), %rdx      # 0x20736
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x2d3, %ecx            # imm = 0x2D3
callq 0x1eb2c
leaq 0xef47(%rip), %rax      # 0x27d00
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xeeef(%rip), %rsi      # 0x27cb8
leaq 0x37ce(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x18df2
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x18dfc
jmp 0x18e09
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
jmp 0x18e09
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x18e18
callq 0x16c72
movq %r14, %rdi
callq 0xb3b0
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::pushArray(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&)
JsonPtr Json::pushArray(const std::string& path, const std::string& delim)
{
	JsonPtr node = createNode(path, delim, true);
	node = node->pushArray();
	if (node) return node;

	throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Target node is not array.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
movl $0x1, %r8d
callq 0x179da
movq (%rbx), %rsi
movq %rsp, %rdi
callq 0x1849e
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
movq %rax, (%rbx)
movq 0x8(%rbx), %rdi
movq %rcx, 0x8(%rbx)
testq %rdi, %rdi
je 0x18e66
callq 0x16c72
movq (%rbx), %rax
testq %rax, %rax
je 0x18e7b
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %r14
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x7860(%rip), %rsi      # 0x206f9
leaq 0x7872(%rip), %rdx      # 0x20712
movq %rsp, %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x77f8(%rip), %rsi      # 0x206aa
leaq 0x7888(%rip), %rdx      # 0x20741
movq %rsp, %r8
movq %r14, %rdi
movl $0x2dc, %ecx            # imm = 0x2DC
callq 0x1eb2c
leaq 0xee30(%rip), %rax      # 0x27d00
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xedd8(%rip), %rsi      # 0x27cb8
leaq 0x36b7(%rip), %rdx      # 0x1c59e
movq %r14, %rdi
callq 0xb390
movq %rax, %r15
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x18f08
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x18f12
jmp 0x18f1f
movq %rax, %r15
movq %r14, %rdi
callq 0xb1c0
jmp 0x18f1f
movq %rax, %r15
movq 0x8(%rbx), %rdi
testq %rdi, %rdi
je 0x18f2d
callq 0x16c72
movq %r15, %rdi
callq 0xb3b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::pushDict(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&)
JsonPtr Json::pushDict(const std::string& path, const std::string& delim)
{
	JsonPtr node = createNode(path, delim, true);
	node = node->pushDict();
	if (node) return node;

	throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Target node is not array.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
movl $0x1, %r8d
callq 0x179da
movq (%rbx), %rsi
movq %rsp, %rdi
callq 0x185ac
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
movq %rax, (%rbx)
movq 0x8(%rbx), %rdi
movq %rcx, 0x8(%rbx)
testq %rdi, %rdi
je 0x18f7c
callq 0x16c72
movq (%rbx), %rax
testq %rax, %rax
je 0x18f91
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %r14
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x774a(%rip), %rsi      # 0x206f9
leaq 0x775c(%rip), %rdx      # 0x20712
movq %rsp, %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x76e2(%rip), %rsi      # 0x206aa
leaq 0x777c(%rip), %rdx      # 0x2074b
movq %rsp, %r8
movq %r14, %rdi
movl $0x2e5, %ecx            # imm = 0x2E5
callq 0x1eb2c
leaq 0xed1a(%rip), %rax      # 0x27d00
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xecc2(%rip), %rsi      # 0x27cb8
leaq 0x35a1(%rip), %rdx      # 0x1c59e
movq %r14, %rdi
callq 0xb390
movq %rax, %r15
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x1901e
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x19028
jmp 0x19035
movq %rax, %r15
movq %r14, %rdi
callq 0xb1c0
jmp 0x19035
movq %rax, %r15
movq 0x8(%rbx), %rdi
testq %rdi, %rdi
je 0x19043
callq 0x16c72
movq %r15, %rdi
callq 0xb3b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::addBool(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Json::addBool(const std::string& path, bool value, const std::string& delim)
{
	JsonPtr node = createNode(path, delim, true);
	if (node->type() == JSON_Uninit)
		node->setBool(value);
	else
		throw JSON_ERROR_MSG(JosnNodeExistError, "Node has existed.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movl %edx, %ebx
movq %rsi, %rdx
movq %rdi, %rsi
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x1, %r8d
callq 0x179da
movq (%r14), %r14
cmpl $0x8, (%r14)
jne 0x190aa
movq %r14, %rdi
callq 0x1803a
movl $0x6, (%r14)
movzbl %bl, %eax
movq %rax, 0x8(%r14)
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1909f
callq 0x16c72
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x7695(%rip), %rsi      # 0x2075c
leaq 0x769f(%rip), %rdx      # 0x2076d
leaq 0x18(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x75c8(%rip), %rsi      # 0x206aa
leaq 0x766b(%rip), %rdx      # 0x20754
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x31e, %ecx            # imm = 0x31E
callq 0x1eb2c
leaq 0xec4e(%rip), %rax      # 0x27d50
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xebbe(%rip), %rsi      # 0x27cd0
leaq 0x3485(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x1913b
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x19145
jmp 0x1914d
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x1915c
callq 0x16c72
movq %r14, %rdi
callq 0xb3b0
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::addReal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, double, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Json::addReal(const std::string& path, double value, const std::string& delim)
{
	JsonPtr node = createNode(path, delim, true);
	if (node->type() == JSON_Uninit)
		node->setReal(value);
	else
		throw JSON_ERROR_MSG(JosnNodeExistError, "Node has existed.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdx, %rcx
movsd %xmm0, (%rsp)
movq %rsi, %rdx
movq %rdi, %rsi
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
movl $0x1, %r8d
callq 0x179da
movq (%rbx), %rdi
cmpl $0x8, (%rdi)
jne 0x191bb
movsd (%rsp), %xmm0
callq 0x18198
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x191b0
callq 0x16c72
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x7584(%rip), %rsi      # 0x2075c
leaq 0x758e(%rip), %rdx      # 0x2076d
leaq 0x18(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x74b7(%rip), %rsi      # 0x206aa
leaq 0x7574(%rip), %rdx      # 0x2076e
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x327, %ecx            # imm = 0x327
callq 0x1eb2c
leaq 0xeb3d(%rip), %rax      # 0x27d50
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xeaad(%rip), %rsi      # 0x27cd0
leaq 0x3374(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x1924c
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x19256
jmp 0x19263
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
jmp 0x19263
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x19272
callq 0x16c72
movq %r14, %rdi
callq 0xb3b0
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::addInt(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Json::addInt(const std::string& path, intmax_t value, const std::string& delim)
{
	JsonPtr node = createNode(path, delim, true);
	if (node->type() == JSON_Uninit)
		node->setInt(value);
	else
		throw JSON_ERROR_MSG(JosnNodeExistError, "Node has existed.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdx, %rbx
movq %rsi, %rdx
movq %rdi, %rsi
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x1, %r8d
callq 0x179da
movq (%r14), %rdi
cmpl $0x8, (%rdi)
jne 0x192ca
movq %rbx, %rsi
callq 0x18118
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x192bf
callq 0x16c72
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x7475(%rip), %rsi      # 0x2075c
leaq 0x747f(%rip), %rdx      # 0x2076d
leaq 0x18(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x73a8(%rip), %rsi      # 0x206aa
leaq 0x746d(%rip), %rdx      # 0x20776
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x330, %ecx            # imm = 0x330
callq 0x1eb2c
leaq 0xea2e(%rip), %rax      # 0x27d50
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xe99e(%rip), %rsi      # 0x27cd0
leaq 0x3265(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x1935b
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x19365
jmp 0x19372
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
jmp 0x19372
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x19381
callq 0x16c72
movq %r14, %rdi
callq 0xb3b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::addUInt(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Json::addUInt(const std::string& path, uintmax_t value, const std::string& delim)
{
	JsonPtr node = createNode(path, delim, true);
	if (node->type() == JSON_Uninit)
		node->setUInt(value);
	else
		throw JSON_ERROR_MSG(JosnNodeExistError, "Node has existed.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdx, %rbx
movq %rsi, %rdx
movq %rdi, %rsi
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x1, %r8d
callq 0x179da
movq (%r14), %rdi
cmpl $0x8, (%rdi)
jne 0x193da
movq %rbx, %rsi
callq 0x18158
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x193cf
callq 0x16c72
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x7365(%rip), %rsi      # 0x2075c
leaq 0x736f(%rip), %rdx      # 0x2076d
leaq 0x18(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x7298(%rip), %rsi      # 0x206aa
leaq 0x7364(%rip), %rdx      # 0x2077d
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x339, %ecx            # imm = 0x339
callq 0x1eb2c
leaq 0xe91e(%rip), %rax      # 0x27d50
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xe88e(%rip), %rsi      # 0x27cd0
leaq 0x3155(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x1946b
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x19475
jmp 0x19482
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
jmp 0x19482
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x19491
callq 0x16c72
movq %r14, %rdi
callq 0xb3b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::addString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Json::addString(const std::string& path, const char* value, const std::string& delim)
{
	JsonPtr node = createNode(path, delim, true);
	if (node->type() == JSON_Uninit)
		node->setString(value);
	else
		throw JSON_ERROR_MSG(JosnNodeExistError, "Node has existed.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdx, %rbx
movq %rsi, %rdx
movq %rdi, %rsi
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x1, %r8d
callq 0x179da
movq (%r14), %rdi
cmpl $0x8, (%rdi)
jne 0x194ea
movq %rbx, %rsi
callq 0x181e2
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x194df
callq 0x16c72
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x7255(%rip), %rsi      # 0x2075c
leaq 0x725f(%rip), %rdx      # 0x2076d
leaq 0x18(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x7188(%rip), %rsi      # 0x206aa
leaq 0x725c(%rip), %rdx      # 0x20785
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x342, %ecx            # imm = 0x342
callq 0x1eb2c
leaq 0xe80e(%rip), %rax      # 0x27d50
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xe77e(%rip), %rsi      # 0x27cd0
leaq 0x3045(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x1957b
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x19585
jmp 0x19592
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
jmp 0x19592
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x195a1
callq 0x16c72
movq %r14, %rdi
callq 0xb3b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::addString(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::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void Json::addString(const std::string& path, const std::string& value, const std::string& delim)
{
	JsonPtr node = createNode(path, delim, true);
	if (node->type() == JSON_Uninit)
		node->setString(value);
	else
		throw JSON_ERROR_MSG(JosnNodeExistError, "Node has existed.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdx, %rbx
movq %rsi, %rdx
movq %rdi, %rsi
leaq 0x8(%rsp), %r14
movq %r14, %rdi
movl $0x1, %r8d
callq 0x179da
movq (%r14), %rdi
cmpl $0x8, (%rdi)
jne 0x195fa
movq %rbx, %rsi
callq 0x182aa
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x195ef
callq 0x16c72
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x7145(%rip), %rsi      # 0x2075c
leaq 0x714f(%rip), %rdx      # 0x2076d
leaq 0x18(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x7078(%rip), %rsi      # 0x206aa
leaq 0x714c(%rip), %rdx      # 0x20785
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x34b, %ecx            # imm = 0x34B
callq 0x1eb2c
leaq 0xe6fe(%rip), %rax      # 0x27d50
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xe66e(%rip), %rsi      # 0x27cd0
leaq 0x2f35(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x1968b
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x19695
jmp 0x196a2
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
jmp 0x196a2
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x196b1
callq 0x16c72
movq %r14, %rdi
callq 0xb3b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::addNull(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&)
void Json::addNull(const std::string& path, const std::string& delim)
{
	JsonPtr node = createNode(path, delim, true);
	if (node->type() == JSON_Uninit)
		node->setNull();
	else
		throw JSON_ERROR_MSG(JosnNodeExistError, "Node has existed.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdx, %rcx
movq %rsi, %rdx
movq %rdi, %rsi
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
movl $0x1, %r8d
callq 0x179da
movq (%rbx), %rbx
cmpl $0x8, (%rbx)
jne 0x19710
movq %rbx, %rdi
callq 0x1803a
movl $0x7, (%rbx)
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x19705
callq 0x16c72
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x702f(%rip), %rsi      # 0x2075c
leaq 0x7039(%rip), %rdx      # 0x2076d
leaq 0x18(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x6f62(%rip), %rsi      # 0x206aa
leaq 0x7040(%rip), %rdx      # 0x2078f
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x354, %ecx            # imm = 0x354
callq 0x1eb2c
leaq 0xe5e8(%rip), %rax      # 0x27d50
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xe558(%rip), %rsi      # 0x27cd0
leaq 0x2e1f(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x197a1
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x197ab
jmp 0x197b3
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x197c2
callq 0x16c72
movq %r14, %rdi
callq 0xb3b0
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::addArray(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&)
JsonPtr Json::addArray(const std::string& path, const std::string& delim)
{
	JsonPtr node = createNode(path, delim, true);
	if (node->type() == JSON_Uninit)
	{
		node->setArray();
		return node;
	}
	else
		throw JSON_ERROR_MSG(JosnNodeExistError, "Node has existed.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
movl $0x1, %r8d
callq 0x179da
movq (%rbx), %rdi
cmpl $0x8, (%rdi)
jne 0x19801
callq 0x18322
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %r14
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x6f3d(%rip), %rsi      # 0x2075c
leaq 0x6f47(%rip), %rdx      # 0x2076d
movq %rsp, %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x6e72(%rip), %rsi      # 0x206aa
leaq 0x6f58(%rip), %rdx      # 0x20797
movq %rsp, %r8
movq %r14, %rdi
movl $0x360, %ecx            # imm = 0x360
callq 0x1eb2c
leaq 0xe4fa(%rip), %rax      # 0x27d50
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xe46a(%rip), %rsi      # 0x27cd0
leaq 0x2d31(%rip), %rdx      # 0x1c59e
movq %r14, %rdi
callq 0xb390
movq %rax, %r15
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x1988e
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x19898
jmp 0x198a5
movq %rax, %r15
movq %r14, %rdi
callq 0xb1c0
jmp 0x198a5
movq %rax, %r15
movq 0x8(%rbx), %rdi
testq %rdi, %rdi
je 0x198b3
callq 0x16c72
movq %r15, %rdi
callq 0xb3b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::addDict(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&)
JsonPtr Json::addDict(const std::string& path, const std::string& delim)
{
	JsonPtr node = createNode(path, delim, true);
	if (node->type() == JSON_Uninit)
	{
		node->setDict();
		return node;
	}
	else
		throw JSON_ERROR_MSG(JosnNodeExistError, "Node has existed.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
movl $0x1, %r8d
callq 0x179da
movq (%rbx), %rdi
cmpl $0x8, (%rdi)
jne 0x198f3
callq 0x17e68
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %r14
leaq 0x10(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x6e4b(%rip), %rsi      # 0x2075c
leaq 0x6e55(%rip), %rdx      # 0x2076d
movq %rsp, %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x6d80(%rip), %rsi      # 0x206aa
leaq 0x6e6f(%rip), %rdx      # 0x207a0
movq %rsp, %r8
movq %r14, %rdi
movl $0x36c, %ecx            # imm = 0x36C
callq 0x1eb2c
leaq 0xe408(%rip), %rax      # 0x27d50
addq $0x10, %rax
movq %rax, (%r14)
xorl %ebp, %ebp
leaq 0xe378(%rip), %rsi      # 0x27cd0
leaq 0x2c3f(%rip), %rdx      # 0x1c59e
movq %r14, %rdi
callq 0xb390
movq %rax, %r15
movq (%rsp), %rdi
cmpq %r12, %rdi
je 0x19980
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x1998a
jmp 0x19997
movq %rax, %r15
movq %r14, %rdi
callq 0xb1c0
jmp 0x19997
movq %rax, %r15
movq 0x8(%rbx), %rdi
testq %rdi, %rdi
je 0x199a5
callq 0x16c72
movq %r15, %rdi
callq 0xb3b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::remove(int)
bool Json::remove(int index)
{
	if (_type != JSON_Array)
		return false;

	std::list<JsonPtr>* data = (std::list<JsonPtr>*)_data;
	auto it = data->begin();
	int i = 0;
	for (; it != data->end(); it++, i++)
	{
		if (i == index)
		{
			data->erase(it);
			return true;	
		}
	}

	return true;
}

// Assembly:
pushq %rbx
movl (%rdi), %ebx
cmpl $0x1, %ebx
jne 0x199da
movq 0x8(%rdi), %rdi
movq (%rdi), %rax
cmpq %rdi, %rax
je 0x199da
incl %esi
decl %esi
je 0x199d2
movq (%rax), %rax
cmpq %rdi, %rax
jne 0x199c4
jmp 0x199da
movq %rax, %rsi
callq 0x1d54a
cmpl $0x1, %ebx
sete %al
popq %rbx
retq
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::remove(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&)
bool Json::remove(const std::string& path, const std::string& delim)
{
	std::string lastSection;
	bool nodeTypeError, nodeNotFound;
	JsonPtr node = getParentNode(path, delim, lastSection, nodeTypeError, nodeNotFound);

	if (node)
	{
		std::map<std::string, JsonPtr>* data = (std::map<std::string, JsonPtr>*)(node->_data);
		data->erase(lastSection);
		return true;
	}

	if (nodeNotFound)
		return true;

	if (nodeTypeError == false && nodeNotFound == false)
	{
		std::map<std::string, JsonPtr>* data = (std::map<std::string, JsonPtr>*)_data;
		data->erase(lastSection);
		return true;
	}
	
	return false;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdx, %rcx
movq %rsi, %rdx
movq %rdi, %r14
leaq 0x30(%rsp), %r15
movq %r15, -0x10(%r15)
movq $0x0, -0x8(%r15)
movb $0x0, (%r15)
leaq 0xe(%rsp), %rax
movq %rax, (%rsp)
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %r8
leaq 0xf(%rsp), %r9
movq %r14, %rsi
callq 0x177d4
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x19a53
movq 0x8(%rax), %r14
leaq 0x20(%rsp), %rsi
movq %r14, %rdi
callq 0x1d576
movb $0x1, %bl
movq %r14, %rdi
movq %rax, %rsi
callq 0x1d62a
jmp 0x19a83
movb $0x1, %bl
cmpb $0x0, 0xe(%rsp)
jne 0x19a83
cmpb $0x0, 0xf(%rsp)
je 0x19a67
xorl %ebx, %ebx
jmp 0x19a83
movq 0x8(%r14), %r14
leaq 0x20(%rsp), %rsi
movq %r14, %rdi
callq 0x1d576
movq %r14, %rdi
movq %rax, %rsi
callq 0x1d62a
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x19a92
callq 0x16c72
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x19aa9
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xb260
movl %ebx, %eax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x19abc
movq %rax, %rbx
jmp 0x19ace
movq %rax, %rbx
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x19ace
callq 0x16c72
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x19ae5
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xb260
movq %rbx, %rdi
callq 0xb3b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::type(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&)
enum Json::ElementType Json::type(const std::string& path, const std::string& delim)
{
	JsonPtr node = getNode(path, delim);
	if (node)
		return node->type();
	
	throw JSON_ERROR_MSG(JosnNodeNotExistError, "Node is not exist.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x38, %rsp
movq %rdx, %rcx
movq %rsi, %rdx
movq %rdi, %rsi
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x17660
movq (%rbx), %rax
testq %rax, %rax
je 0x19b7c
movl (%rax), %ebx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x19b6f
callq 0x16c72
movl %ebx, %eax
addq $0x38, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x28(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x6c14(%rip), %rsi      # 0x207ad
leaq 0x6c1f(%rip), %rdx      # 0x207bf
leaq 0x18(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x6af6(%rip), %rsi      # 0x206aa
leaq 0x6bed(%rip), %rdx      # 0x207a8
leaq 0x18(%rsp), %r8
movq %rbx, %rdi
movl $0x3af, %ecx            # imm = 0x3AF
callq 0x1eb2c
leaq 0xe1a4(%rip), %rax      # 0x27d78
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xe104(%rip), %rsi      # 0x27ce8
leaq 0x29b3(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x18(%rsp), %rdi
cmpq %r15, %rdi
je 0x19c0d
movq 0x28(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x19c17
jmp 0x19c1f
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x19c2e
callq 0x16c72
movq %r14, %rdi
callq 0xb3b0
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::getInt(long) const
intmax_t Json::getInt(intmax_t dft) const
{
	if (_type == JSON_Integer)
		return *((intmax_t*)_data);

	if (_type == JSON_UInteger)
	{
		intmax_t v = (intmax_t)(*((uintmax_t*)_data));
		if (v >= 0)
			return v;
	}

	return dft;
}

// Assembly:
movl (%rdi), %eax
cmpl $0x4, %eax
je 0x19c5c
cmpl $0x3, %eax
jne 0x19c69
movq 0x8(%rdi), %rax
movq (%rax), %rax
retq
movq 0x8(%rdi), %rax
movq (%rax), %rax
testq %rax, %rax
js 0x19c69
retq
movq %rsi, %rax
retq
nop
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::getUInt(unsigned long) const
uintmax_t Json::getUInt(uintmax_t dft) const
{
	if (_type == JSON_UInteger)
		return *((uintmax_t*)_data);

	if (_type == JSON_Integer)
	{
		intmax_t v = *((intmax_t*)_data);
		if (v >= 0)
			return (uintmax_t)v;
	}

	return dft;
}

// Assembly:
movl (%rdi), %eax
cmpl $0x3, %eax
je 0x19c82
cmpl $0x4, %eax
jne 0x19c8f
movq 0x8(%rdi), %rax
movq (%rax), %rax
retq
movq 0x8(%rdi), %rax
movq (%rax), %rax
testq %rax, %rax
js 0x19c8f
retq
movq %rsi, %rax
retq
nop
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::wantInt() const
intmax_t Json::wantInt() const
{
	if (_type == JSON_Integer)
		return *((intmax_t*)_data);

	if (_type == JSON_UInteger)
	{
		intmax_t v = (intmax_t)(*((uintmax_t*)_data));
		if (v >= 0)
			return v;
	}

	throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movl (%rdi), %eax
cmpl $0x4, %eax
je 0x19dd7
cmpl $0x3, %eax
jne 0x19dee
movq 0x8(%rdi), %rax
movq (%rax), %rax
jmp 0x19de3
movq 0x8(%rdi), %rax
movq (%rax), %rax
testq %rax, %rax
js 0x19dee
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x69be(%rip), %rsi      # 0x207c9
leaq 0x69cc(%rip), %rdx      # 0x207de
leaq 0x8(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x6884(%rip), %rsi      # 0x206aa
leaq 0x69b2(%rip), %rdx      # 0x207df
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x412, %ecx            # imm = 0x412
callq 0x1eb2c
leaq 0xdeba(%rip), %rax      # 0x27d00
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xde62(%rip), %rsi      # 0x27cb8
leaq 0x2741(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x19e7f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x19e89
jmp 0x19e91
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
movq %r14, %rdi
callq 0xb3b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::wantUInt() const
uintmax_t Json::wantUInt() const
{
	if (_type == JSON_UInteger)
		return *((uintmax_t*)_data);

	if (_type == JSON_Integer)
	{
		intmax_t v = *((intmax_t*)_data);
		if (v >= 0)
			return (uintmax_t)v;
	}

	throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movl (%rdi), %eax
cmpl $0x3, %eax
je 0x19eb9
cmpl $0x4, %eax
jne 0x19ed0
movq 0x8(%rdi), %rax
movq (%rax), %rax
jmp 0x19ec5
movq 0x8(%rdi), %rax
movq (%rax), %rax
testq %rax, %rax
js 0x19ed0
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x68dc(%rip), %rsi      # 0x207c9
leaq 0x68ea(%rip), %rdx      # 0x207de
leaq 0x8(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x67a2(%rip), %rsi      # 0x206aa
leaq 0x68d8(%rip), %rdx      # 0x207e7
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x421, %ecx            # imm = 0x421
callq 0x1eb2c
leaq 0xddd8(%rip), %rax      # 0x27d00
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xdd80(%rip), %rsi      # 0x27cb8
leaq 0x265f(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x19f61
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x19f6b
jmp 0x19f73
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
movq %r14, %rdi
callq 0xb3b0
nop
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::wantBoolVector() const
std::vector<bool> Json::wantBoolVector() const
{
	if (_type != JSON_Array)
		throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

	std::list<JsonPtr>* data = (std::list<JsonPtr>*)_data;
	std::vector<bool> res;
	res.reserve(data->size());

	for (auto& node: *data)
		res.push_back(node->wantBool());

	return res;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
cmpl $0x1, (%rsi)
jne 0x1a191
movq %rdi, %rbx
movq 0x8(%rsi), %r14
xorl %eax, %eax
movq %rax, (%rdi)
movl %eax, 0x8(%rdi)
movq %rax, 0x10(%rdi)
movl %eax, 0x18(%rdi)
movq %rax, 0x20(%rdi)
movq 0x10(%r14), %rsi
callq 0x1c5ea
movq %r14, %r15
movq (%r15), %r15
cmpq %r14, %r15
je 0x1a183
movq 0x10(%r15), %rdi
callq 0x19cea
movzbl %al, %esi
movq %rbx, %rdi
callq 0x1c61c
jmp 0x1a165
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x661b(%rip), %rsi      # 0x207c9
leaq 0x6629(%rip), %rdx      # 0x207de
leaq 0x8(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x64e1(%rip), %rsi      # 0x206aa
leaq 0x6634(%rip), %rdx      # 0x20804
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x438, %ecx            # imm = 0x438
callq 0x1eb2c
leaq 0xdb17(%rip), %rax      # 0x27d00
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xdabf(%rip), %rsi      # 0x27cb8
leaq 0x239e(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1a222
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x1a22c
jmp 0x1a243
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
jmp 0x1a243
jmp 0x1a238
movq %rax, %r14
movq %rbx, %rdi
callq 0x1cce0
movq %r14, %rdi
callq 0xb3b0
movq %rax, %rdi
callq 0x16689
nop
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::wantRealVector() const
std::vector<double> Json::wantRealVector() const
{
	if (_type != JSON_Array)
		throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

	std::list<JsonPtr>* data = (std::list<JsonPtr>*)_data;
	std::vector<double> res;
	res.reserve(data->size());

	for (auto& node: *data)
		res.push_back(node->wantReal());

	return res;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
cmpl $0x1, (%rsi)
jne 0x1a2d9
movq %rdi, %rbx
movq 0x8(%rsi), %r15
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movq 0x10(%r15), %rsi
callq 0x1c66a
movq (%r15), %r12
cmpq %r15, %r12
je 0x1a2c9
movq %rsp, %r14
movq 0x10(%r12), %rdi
callq 0x19f7c
movsd %xmm0, (%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1a2b5
movsd %xmm0, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1a2c0
movq %rbx, %rdi
movq %r14, %rdx
callq 0x1db50
movq (%r12), %r12
cmpq %r15, %r12
jne 0x1a28e
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x64d3(%rip), %rsi      # 0x207c9
leaq 0x64e1(%rip), %rdx      # 0x207de
movq %rsp, %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x639b(%rip), %rsi      # 0x206aa
leaq 0x64fd(%rip), %rdx      # 0x20813
movq %rsp, %r8
movq %rbx, %rdi
movl $0x447, %ecx            # imm = 0x447
callq 0x1eb2c
leaq 0xd9d3(%rip), %rax      # 0x27d00
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd97b(%rip), %rsi      # 0x27cb8
leaq 0x225a(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x1a365
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x1a36f
jmp 0x1a392
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
jmp 0x1a392
jmp 0x1a37b
movq %rax, %r14
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1a392
movq 0x10(%rbx), %rsi
subq %rdi, %rsi
callq 0xb260
movq %r14, %rdi
callq 0xb3b0
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::wantIntVector() const
std::vector<intmax_t> Json::wantIntVector() const
{
	if (_type != JSON_Array)
		throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

	std::list<JsonPtr>* data = (std::list<JsonPtr>*)_data;
	std::vector<intmax_t> res;
	res.reserve(data->size());

	for (auto& node: *data)
		res.push_back(node->wantInt());

	return res;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
cmpl $0x1, (%rsi)
jne 0x1a41d
movq %rdi, %rbx
movq 0x8(%rsi), %r15
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movq 0x10(%r15), %rsi
callq 0x1c706
movq (%r15), %r12
cmpq %r15, %r12
je 0x1a40d
movq %rsp, %r14
movq 0x10(%r12), %rdi
callq 0x19db8
movq %rax, (%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x1a3f9
movq %rax, (%rsi)
addq $0x8, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x1a404
movq %rbx, %rdi
movq %r14, %rdx
callq 0x1dc90
movq (%r12), %r12
cmpq %r15, %r12
jne 0x1a3d4
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x638f(%rip), %rsi      # 0x207c9
leaq 0x639d(%rip), %rdx      # 0x207de
movq %rsp, %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x6257(%rip), %rsi      # 0x206aa
leaq 0x63c8(%rip), %rdx      # 0x20822
movq %rsp, %r8
movq %rbx, %rdi
movl $0x456, %ecx            # imm = 0x456
callq 0x1eb2c
leaq 0xd88f(%rip), %rax      # 0x27d00
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd837(%rip), %rsi      # 0x27cb8
leaq 0x2116(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x1a4a9
movq 0x10(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x1a4b3
jmp 0x1a4d6
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
jmp 0x1a4d6
jmp 0x1a4bf
movq %rax, %r14
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x1a4d6
movq 0x10(%rbx), %rsi
subq %rdi, %rsi
callq 0xb260
movq %r14, %rdi
callq 0xb3b0
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::wantStringVector[abi:cxx11]() const
std::vector<std::string> Json::wantStringVector() const
{
	if (_type != JSON_Array)
		throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

	std::list<JsonPtr>* data = (std::list<JsonPtr>*)_data;
	std::vector<std::string> res;
	res.reserve(data->size());

	for (auto& node: *data)
		res.push_back(node->wantString());

	return res;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
cmpl $0x1, (%rsi)
jne 0x1a56a
movq %rdi, %rbx
movq 0x8(%rsi), %r15
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movq 0x10(%r15), %rsi
callq 0x1c7a2
movq (%r15), %r13
cmpq %r15, %r13
je 0x1a558
leaq 0x18(%rsp), %r12
leaq 0x8(%rsp), %r14
movq 0x10(%r13), %rsi
movq %r14, %rdi
callq 0x1a04a
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1cd0e
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x1a54f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb260
movq (%r13), %r13
cmpq %r15, %r13
jne 0x1a521
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x6242(%rip), %rsi      # 0x207c9
leaq 0x6250(%rip), %rdx      # 0x207de
leaq 0x8(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x6108(%rip), %rsi      # 0x206aa
leaq 0x6287(%rip), %rdx      # 0x20830
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x465, %ecx            # imm = 0x465
callq 0x1eb2c
leaq 0xd73e(%rip), %rax      # 0x27d00
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd6e6(%rip), %rsi      # 0x27cb8
leaq 0x1fc5(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1a5fb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x1a605
jmp 0x1a638
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
jmp 0x1a638
jmp 0x1a611
movq %rax, %r14
jmp 0x1a630
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x1a630
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb260
movq %rbx, %rdi
callq 0x161bc
movq %r14, %rdi
callq 0xb3b0
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::wantBoolDict[abi:cxx11]() const
std::map<std::string, bool> Json::wantBoolDict() const
{
	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, bool> res;

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

	return res;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
cmpl $0x0, (%rsi)
jne 0x1a6b8
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 0x18(%r15), %r14
addq $0x8, %r15
cmpq %r15, %r14
je 0x1a6aa
movq 0x40(%r14), %rdi
callq 0x19cea
movl %eax, %ebp
leaq 0x20(%r14), %rsi
movq %rbx, %rdi
callq 0x1c88a
movb %bpl, (%rax)
movq %r14, %rdi
callq 0xb190
movq %rax, %r14
cmpq %r15, %rax
jne 0x1a680
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x60f4(%rip), %rsi      # 0x207c9
leaq 0x6102(%rip), %rdx      # 0x207de
leaq 0x8(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x5fba(%rip), %rsi      # 0x206aa
leaq 0x614a(%rip), %rdx      # 0x20841
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x474, %ecx            # imm = 0x474
callq 0x1eb2c
leaq 0xd5f0(%rip), %rax      # 0x27d00
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd598(%rip), %rsi      # 0x27cb8
leaq 0x1e77(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1a749
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x1a753
jmp 0x1a768
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
jmp 0x1a768
movq %rax, %r14
movq %rbx, %rdi
callq 0x16ed6
movq %r14, %rdi
callq 0xb3b0
// File: /workspace/github_cpp_makefile_star2_O3/swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::wantRealDict[abi:cxx11]() const
std::map<std::string, double> Json::wantRealDict() const
{
	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, double> res;

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

	return res;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
cmpl $0x0, (%rsi)
jne 0x1a7f1
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 0x18(%r15), %r14
addq $0x8, %r15
cmpq %r15, %r14
je 0x1a7e3
movq 0x40(%r14), %rdi
callq 0x19f7c
movsd %xmm0, (%rsp)
leaq 0x20(%r14), %rsi
movq %rbx, %rdi
callq 0x1c906
movsd (%rsp), %xmm0
movsd %xmm0, (%rax)
movq %r14, %rdi
callq 0xb190
movq %rax, %r14
cmpq %r15, %rax
jne 0x1a7b0
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x60, %edi
callq 0xb0f0
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x5fbb(%rip), %rsi      # 0x207c9
leaq 0x5fc9(%rip), %rdx      # 0x207de
leaq 0x8(%rsp), %rdi
callq 0x16fe4
movb $0x1, %bpl
leaq 0x5e81(%rip), %rsi      # 0x206aa
leaq 0x601e(%rip), %rdx      # 0x2084e
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
movl $0x482, %ecx            # imm = 0x482
callq 0x1eb2c
leaq 0xd4b7(%rip), %rax      # 0x27d00
addq $0x10, %rax
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0xd45f(%rip), %rsi      # 0x27cb8
leaq 0x1d3e(%rip), %rdx      # 0x1c59e
movq %rbx, %rdi
callq 0xb390
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1a882
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb260
testb %bpl, %bpl
jne 0x1a88c
jmp 0x1a8a1
movq %rax, %r14
movq %rbx, %rdi
callq 0xb1c0
jmp 0x1a8a1
movq %rax, %r14
movq %rbx, %rdi
callq 0x16e5e
movq %r14, %rdi
callq 0xb3b0
nop