LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: 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:
subq $0x88, %rsp
movq %rdi, 0x20(%rsp)
movq %rdi, %rax
movq %rax, 0x18(%rsp)
movq %rdi, 0x80(%rsp)
movq %rsi, 0x78(%rsp)
movq %rdx, 0x70(%rsp)
movq %rcx, 0x68(%rsp)
movq 0x78(%rsp), %rsi
movb $0x0, 0x67(%rsp)
movq 0x70(%rsp), %rdx
movq 0x68(%rsp), %rcx
movl $0x1, %r8d
callq 0x375d0
movq 0x20(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
callq 0x312b0
movl %eax, 0x28(%rsp)
jmp 0x3a3d2
movl 0x28(%rsp), %eax
cmpl $0x8, %eax
jne 0x3a417
movq 0x20(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
callq 0x386e0
jmp 0x3a3ef
movb $0x1, 0x67(%rsp)
testb $0x1, 0x67(%rsp)
jne 0x3a4e6
jmp 0x3a4dc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
jmp 0x3a4f3
movb $0x1, 0x2e(%rsp)
movl $0x60, %edi
callq 0x22100
movq %rax, 0x8(%rsp)
leaq 0x2f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x224b0
movq 0x10(%rsp), %rdx
leaq 0x112de(%rip), %rsi     # 0x4b724
leaq 0x30(%rsp), %rdi
callq 0x30e50
jmp 0x3a452
movq 0x8(%rsp), %rdi
leaq 0x11214(%rip), %rsi     # 0x4b672
leaq 0x112fa(%rip), %rdx     # 0x4b75f
movl $0x360, %ecx            # imm = 0x360
leaq 0x30(%rsp), %r8
callq 0x3f100
jmp 0x3a476
movq 0x8(%rsp), %rdi
movb $0x0, 0x2e(%rsp)
leaq 0x1d849(%rip), %rsi     # 0x57cd0
leaq 0x4cd2(%rip), %rdx      # 0x3f160
callq 0x22480
jmp 0x3a507
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
jmp 0x3a4bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
leaq 0x30(%rsp), %rdi
callq 0x22160
leaq 0x2f(%rsp), %rdi
callq 0x22320
testb $0x1, 0x2e(%rsp)
jne 0x3a4d0
jmp 0x3a4da
movq 0x8(%rsp), %rdi
callq 0x221d0
jmp 0x3a4f3
movq 0x20(%rsp), %rdi
callq 0x31150
movq 0x18(%rsp), %rax
addq $0x88, %rsp
retq
movq 0x20(%rsp), %rdi
callq 0x31150
movq 0x58(%rsp), %rdi
callq 0x224a0
nopw (%rax,%rax)
// File: 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:
subq $0x88, %rsp
movq %rdi, 0x20(%rsp)
movq %rdi, %rax
movq %rax, 0x18(%rsp)
movq %rdi, 0x80(%rsp)
movq %rsi, 0x78(%rsp)
movq %rdx, 0x70(%rsp)
movq %rcx, 0x68(%rsp)
movq 0x78(%rsp), %rsi
movb $0x0, 0x67(%rsp)
movq 0x70(%rsp), %rdx
movq 0x68(%rsp), %rcx
movl $0x1, %r8d
callq 0x375d0
movq 0x20(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
callq 0x312b0
movl %eax, 0x28(%rsp)
jmp 0x3a572
movl 0x28(%rsp), %eax
cmpl $0x8, %eax
jne 0x3a5b7
movq 0x20(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
callq 0x37e10
jmp 0x3a58f
movb $0x1, 0x67(%rsp)
testb $0x1, 0x67(%rsp)
jne 0x3a686
jmp 0x3a67c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
jmp 0x3a693
movb $0x1, 0x2e(%rsp)
movl $0x60, %edi
callq 0x22100
movq %rax, 0x8(%rsp)
leaq 0x2f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x224b0
movq 0x10(%rsp), %rdx
leaq 0x1113e(%rip), %rsi     # 0x4b724
leaq 0x30(%rsp), %rdi
callq 0x30e50
jmp 0x3a5f2
movq 0x8(%rsp), %rdi
leaq 0x11074(%rip), %rsi     # 0x4b672
leaq 0x11163(%rip), %rdx     # 0x4b768
movl $0x36c, %ecx            # imm = 0x36C
leaq 0x30(%rsp), %r8
callq 0x3f100
jmp 0x3a616
movq 0x8(%rsp), %rdi
movb $0x0, 0x2e(%rsp)
leaq 0x1d6a9(%rip), %rsi     # 0x57cd0
leaq 0x4b32(%rip), %rdx      # 0x3f160
callq 0x22480
jmp 0x3a6a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
jmp 0x3a65d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x58(%rsp)
movl %eax, 0x54(%rsp)
leaq 0x30(%rsp), %rdi
callq 0x22160
leaq 0x2f(%rsp), %rdi
callq 0x22320
testb $0x1, 0x2e(%rsp)
jne 0x3a670
jmp 0x3a67a
movq 0x8(%rsp), %rdi
callq 0x221d0
jmp 0x3a693
movq 0x20(%rsp), %rdi
callq 0x31150
movq 0x18(%rsp), %rax
addq $0x88, %rsp
retq
movq 0x20(%rsp), %rdi
callq 0x31150
movq 0x58(%rsp), %rdi
callq 0x224a0
nopw (%rax,%rax)
// File: 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:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movl %esi, 0x54(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x10(%rsp)
cmpl $0x1, (%rax)
je 0x3a6d6
movb $0x0, 0x67(%rsp)
jmp 0x3a785
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rdi
callq 0x3ead0
movq %rax, 0x40(%rsp)
movl $0x0, 0x3c(%rsp)
movq 0x48(%rsp), %rdi
callq 0x3eb00
movq %rax, 0x30(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x3eb30
testb $0x1, %al
jne 0x3a71f
jmp 0x3a780
movl 0x3c(%rsp), %eax
cmpl 0x54(%rsp), %eax
jne 0x3a75d
movq 0x48(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x28(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x3f1c0
movq 0x8(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x3f170
movq %rax, 0x20(%rsp)
movb $0x1, 0x67(%rsp)
jmp 0x3a785
jmp 0x3a75f
leaq 0x40(%rsp), %rdi
xorl %esi, %esi
callq 0x3eca0
movq %rax, 0x18(%rsp)
movl 0x3c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x3c(%rsp)
jmp 0x3a6fb
movb $0x1, 0x67(%rsp)
movb 0x67(%rsp), %al
andb $0x1, %al
addq $0x68, %rsp
retq
// File: 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:
subq $0x98, %rsp
movq %rdi, 0x88(%rsp)
movq %rsi, 0x80(%rsp)
movq %rdx, 0x78(%rsp)
movq 0x88(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x58(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x223f0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %r8
movq 0x80(%rsp), %rdx
movq 0x78(%rsp), %rcx
movq %rsp, %rax
leaq 0x56(%rsp), %rdi
movq %rdi, (%rax)
leaq 0x40(%rsp), %rdi
leaq 0x57(%rsp), %r9
callq 0x37210
jmp 0x3a7fb
leaq 0x40(%rsp), %rdi
callq 0x31c60
testb $0x1, %al
jne 0x3a80b
jmp 0x3a874
leaq 0x40(%rsp), %rdi
callq 0x312a0
movq 0x8(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0x3f1e0
jmp 0x3a82f
movb $0x1, 0x97(%rsp)
movl $0x1, 0x24(%rsp)
jmp 0x3a8ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x38(%rsp)
movl %eax, 0x34(%rsp)
jmp 0x3a90f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x38(%rsp)
movl %eax, 0x34(%rsp)
leaq 0x40(%rsp), %rdi
callq 0x31150
jmp 0x3a90f
testb $0x1, 0x56(%rsp)
je 0x3a88d
movb $0x1, 0x97(%rsp)
movl $0x1, 0x24(%rsp)
jmp 0x3a8ea
movb 0x57(%rsp), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x3a8da
movb 0x56(%rsp), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x3a8da
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0x3f1e0
jmp 0x3a8c8
movb $0x1, 0x97(%rsp)
movl $0x1, 0x24(%rsp)
jmp 0x3a8ea
movb $0x0, 0x97(%rsp)
movl $0x1, 0x24(%rsp)
leaq 0x40(%rsp), %rdi
callq 0x31150
leaq 0x58(%rsp), %rdi
callq 0x22160
movb 0x97(%rsp), %al
andb $0x1, %al
addq $0x98, %rsp
retq
leaq 0x58(%rsp), %rdi
callq 0x22160
movq 0x38(%rsp), %rdi
callq 0x224a0
nopw %cs:(%rax,%rax)
// File: 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:
subq $0x78, %rsp
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq %rdx, 0x60(%rsp)
movq 0x70(%rsp), %rsi
movq 0x68(%rsp), %rdx
movq 0x60(%rsp), %rcx
leaq 0x50(%rsp), %rdi
callq 0x36f80
leaq 0x50(%rsp), %rdi
callq 0x31c60
testb $0x1, %al
jne 0x3a9fc
jmp 0x3aa3a
leaq 0x50(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
callq 0x312b0
movl %eax, 0x18(%rsp)
jmp 0x3aa14
leaq 0x50(%rsp), %rdi
callq 0x31150
movl 0x18(%rsp), %eax
addq $0x78, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
jmp 0x3aaff
movb $0x1, 0x1e(%rsp)
movl $0x60, %edi
callq 0x22100
movq %rax, 0x8(%rsp)
leaq 0x1f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x224b0
movq 0x10(%rsp), %rdx
leaq 0x10d0c(%rip), %rsi     # 0x4b775
leaq 0x20(%rsp), %rdi
callq 0x30e50
jmp 0x3aa75
movq 0x8(%rsp), %rdi
leaq 0x10bf1(%rip), %rsi     # 0x4b672
leaq 0x10ce8(%rip), %rdx     # 0x4b770
movl $0x3af, %ecx            # imm = 0x3AF
leaq 0x20(%rsp), %r8
callq 0x3f210
jmp 0x3aa99
movq 0x8(%rsp), %rdi
movb $0x0, 0x1e(%rsp)
leaq 0x1d23e(%rip), %rsi     # 0x57ce8
leaq 0x47bf(%rip), %rdx      # 0x3f270
callq 0x22480
jmp 0x3ab13
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
jmp 0x3aae0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x22160
leaq 0x1f(%rsp), %rdi
callq 0x22320
testb $0x1, 0x1e(%rsp)
jne 0x3aaf3
jmp 0x3aafd
movq 0x8(%rsp), %rdi
callq 0x221d0
jmp 0x3aaff
leaq 0x50(%rsp), %rdi
callq 0x31150
movq 0x48(%rsp), %rdi
callq 0x224a0
nopw %cs:(%rax,%rax)
// File: 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:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq -0x10(%rsp), %rax
movq %rax, -0x28(%rsp)
cmpl $0x3, (%rax)
jne 0x3ab9c
movq -0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x3abd7
movq -0x28(%rsp), %rax
cmpl $0x4, (%rax)
jne 0x3abcd
movq -0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rsp)
cmpq $0x0, -0x20(%rsp)
jl 0x3abcb
movq -0x20(%rsp), %rax
movq %rax, -0x8(%rsp)
jmp 0x3abd7
jmp 0x3abcd
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
nopl (%rax)
// File: 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:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq -0x10(%rsp), %rax
movq %rax, -0x28(%rsp)
cmpl $0x4, (%rax)
jne 0x3ac0c
movq -0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq %rax, -0x8(%rsp)
jmp 0x3ac47
movq -0x28(%rsp), %rax
cmpl $0x3, (%rax)
jne 0x3ac3d
movq -0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rsp)
cmpq $0x0, -0x20(%rsp)
jl 0x3ac3b
movq -0x20(%rsp), %rax
movq %rax, -0x8(%rsp)
jmp 0x3ac47
jmp 0x3ac3d
movq -0x18(%rsp), %rax
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
retq
nopl (%rax)
// File: 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:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x10(%rsp)
cmpl $0x3, (%rax)
jne 0x3aeae
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq %rax, 0x60(%rsp)
jmp 0x3afa3
movq 0x10(%rsp), %rax
cmpl $0x4, (%rax)
jne 0x3aee2
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq %rax, 0x50(%rsp)
cmpq $0x0, 0x50(%rsp)
jl 0x3aee0
movq 0x50(%rsp), %rax
movq %rax, 0x60(%rsp)
jmp 0x3afa3
jmp 0x3aee2
movb $0x1, 0x1b(%rsp)
movl $0x60, %edi
callq 0x22100
movq %rax, (%rsp)
leaq 0x2f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x224b0
movq 0x8(%rsp), %rdx
leaq 0x10881(%rip), %rsi     # 0x4b791
leaq 0x30(%rsp), %rdi
callq 0x30e50
jmp 0x3af1c
movq (%rsp), %rdi
leaq 0x1074b(%rip), %rsi     # 0x4b672
leaq 0x10879(%rip), %rdx     # 0x4b7a7
movl $0x412, %ecx            # imm = 0x412
leaq 0x30(%rsp), %r8
callq 0x3ee00
jmp 0x3af3f
movq (%rsp), %rdi
movb $0x0, 0x1b(%rsp)
leaq 0x1cd69(%rip), %rsi     # 0x57cb8
leaq 0x3f0a(%rip), %rdx      # 0x3ee60
callq 0x22480
jmp 0x3afb7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x20(%rsp)
movl %eax, 0x1c(%rsp)
jmp 0x3af85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x20(%rsp)
movl %eax, 0x1c(%rsp)
leaq 0x30(%rsp), %rdi
callq 0x22160
leaq 0x2f(%rsp), %rdi
callq 0x22320
testb $0x1, 0x1b(%rsp)
jne 0x3af98
jmp 0x3afa1
movq (%rsp), %rdi
callq 0x221d0
jmp 0x3afad
movq 0x60(%rsp), %rax
addq $0x68, %rsp
retq
movq 0x20(%rsp), %rdi
callq 0x224a0
nopw (%rax,%rax)
// File: 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:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x10(%rsp)
cmpl $0x4, (%rax)
jne 0x3afee
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq %rax, 0x60(%rsp)
jmp 0x3b0e3
movq 0x10(%rsp), %rax
cmpl $0x3, (%rax)
jne 0x3b022
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rax
movq %rax, 0x50(%rsp)
cmpq $0x0, 0x50(%rsp)
jl 0x3b020
movq 0x50(%rsp), %rax
movq %rax, 0x60(%rsp)
jmp 0x3b0e3
jmp 0x3b022
movb $0x1, 0x1b(%rsp)
movl $0x60, %edi
callq 0x22100
movq %rax, (%rsp)
leaq 0x2f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x224b0
movq 0x8(%rsp), %rdx
leaq 0x10741(%rip), %rsi     # 0x4b791
leaq 0x30(%rsp), %rdi
callq 0x30e50
jmp 0x3b05c
movq (%rsp), %rdi
leaq 0x1060b(%rip), %rsi     # 0x4b672
leaq 0x10741(%rip), %rdx     # 0x4b7af
movl $0x421, %ecx            # imm = 0x421
leaq 0x30(%rsp), %r8
callq 0x3ee00
jmp 0x3b07f
movq (%rsp), %rdi
movb $0x0, 0x1b(%rsp)
leaq 0x1cc29(%rip), %rsi     # 0x57cb8
leaq 0x3dca(%rip), %rdx      # 0x3ee60
callq 0x22480
jmp 0x3b0f7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x20(%rsp)
movl %eax, 0x1c(%rsp)
jmp 0x3b0c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x20(%rsp)
movl %eax, 0x1c(%rsp)
leaq 0x30(%rsp), %rdi
callq 0x22160
leaq 0x2f(%rsp), %rdi
callq 0x22320
testb $0x1, 0x1b(%rsp)
jne 0x3b0d8
jmp 0x3b0e1
movq (%rsp), %rdi
callq 0x221d0
jmp 0x3b0ed
movq 0x60(%rsp), %rax
addq $0x68, %rsp
retq
movq 0x20(%rsp), %rdi
callq 0x224a0
nopw (%rax,%rax)
// File: 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:
subq $0xa8, %rsp
movq %rdi, 0x18(%rsp)
movq %rdi, %rax
movq %rax, 0x20(%rsp)
movq %rdi, 0xa0(%rsp)
movq %rsi, 0x98(%rsp)
movq 0x98(%rsp), %rax
movq %rax, 0x28(%rsp)
cmpl $0x1, (%rax)
je 0x3b425
movb $0x1, 0x63(%rsp)
movl $0x60, %edi
callq 0x22100
movq %rax, 0x8(%rsp)
leaq 0x77(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x224b0
movq 0x10(%rsp), %rdx
leaq 0x10408(%rip), %rsi     # 0x4b791
leaq 0x78(%rsp), %rdi
callq 0x30e50
jmp 0x3b395
movq 0x8(%rsp), %rdi
leaq 0x102d1(%rip), %rsi     # 0x4b672
leaq 0x10424(%rip), %rdx     # 0x4b7cc
movl $0x438, %ecx            # imm = 0x438
leaq 0x78(%rsp), %r8
callq 0x3ee00
jmp 0x3b3b9
movq 0x8(%rsp), %rdi
movb $0x0, 0x63(%rsp)
leaq 0x1c8ee(%rip), %rsi     # 0x57cb8
leaq 0x3a8f(%rip), %rdx      # 0x3ee60
callq 0x22480
jmp 0x3b52a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
jmp 0x3b403
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
leaq 0x78(%rsp), %rdi
callq 0x22160
leaq 0x77(%rsp), %rdi
callq 0x22320
testb $0x1, 0x63(%rsp)
jne 0x3b416
jmp 0x3b420
movq 0x8(%rsp), %rdi
callq 0x221d0
jmp 0x3b520
movq 0x18(%rsp), %rdi
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x58(%rsp)
movb $0x0, 0x57(%rsp)
callq 0x3f280
movq 0x58(%rsp), %rdi
callq 0x3f300
movq 0x18(%rsp), %rdi
movq %rax, %rsi
callq 0x3f290
jmp 0x3b45b
movq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rdi
callq 0x3ead0
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rdi
callq 0x3eb00
movq %rax, 0x38(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x3eb30
testb $0x1, %al
jne 0x3b498
jmp 0x3b4fd
leaq 0x40(%rsp), %rdi
callq 0x3eb50
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
callq 0x3ad80
movb %al, 0x7(%rsp)
jmp 0x3b4bf
movq 0x18(%rsp), %rdi
movb 0x7(%rsp), %al
movzbl %al, %esi
andl $0x1, %esi
callq 0x3f330
jmp 0x3b4d5
jmp 0x3b4d7
leaq 0x40(%rsp), %rdi
callq 0x3eb70
jmp 0x3b483
movq 0x18(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
callq 0x32890
jmp 0x3b520
movb $0x1, 0x57(%rsp)
testb $0x1, 0x57(%rsp)
jne 0x3b513
movq 0x18(%rsp), %rdi
callq 0x32890
movq 0x20(%rsp), %rax
addq $0xa8, %rsp
retq
movq 0x68(%rsp), %rdi
callq 0x224a0
nopw (%rax,%rax)
// File: 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:
subq $0xb8, %rsp
movq %rdi, 0x20(%rsp)
movq %rdi, %rax
movq %rax, 0x28(%rsp)
movq %rdi, 0xb0(%rsp)
movq %rsi, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
movq %rax, 0x30(%rsp)
cmpl $0x1, (%rax)
je 0x3b644
movb $0x1, 0x73(%rsp)
movl $0x60, %edi
callq 0x22100
movq %rax, 0x10(%rsp)
leaq 0x87(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x224b0
movq 0x18(%rsp), %rdx
leaq 0x101f5(%rip), %rsi     # 0x4b791
leaq 0x88(%rsp), %rdi
callq 0x30e50
jmp 0x3b5ab
movq 0x10(%rsp), %rdi
leaq 0x100bb(%rip), %rsi     # 0x4b672
leaq 0x1021d(%rip), %rdx     # 0x4b7db
movl $0x447, %ecx            # imm = 0x447
leaq 0x88(%rsp), %r8
callq 0x3ee00
jmp 0x3b5d2
movq 0x10(%rsp), %rdi
movb $0x0, 0x73(%rsp)
leaq 0x1c6d5(%rip), %rsi     # 0x57cb8
leaq 0x3876(%rip), %rdx      # 0x3ee60
callq 0x22480
jmp 0x3b752
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
jmp 0x3b61f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0x88(%rsp), %rdi
callq 0x22160
leaq 0x87(%rsp), %rdi
callq 0x22320
testb $0x1, 0x73(%rsp)
jne 0x3b635
jmp 0x3b63f
movq 0x10(%rsp), %rdi
callq 0x221d0
jmp 0x3b748
movq 0x20(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x68(%rsp)
movb $0x0, 0x67(%rsp)
callq 0x3f410
movq 0x68(%rsp), %rdi
callq 0x3f300
movq 0x20(%rsp), %rdi
movq %rax, %rsi
callq 0x3f420
jmp 0x3b67a
movq 0x68(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0x3ead0
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rdi
callq 0x3eb00
movq %rax, 0x48(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x3eb30
testb $0x1, %al
jne 0x3b6b7
jmp 0x3b725
leaq 0x50(%rsp), %rdi
callq 0x3eb50
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
callq 0x3b100
movsd %xmm0, 0x8(%rsp)
jmp 0x3b6e0
movq 0x20(%rsp), %rdi
movsd 0x8(%rsp), %xmm0
movsd %xmm0, 0x38(%rsp)
leaq 0x38(%rsp), %rsi
callq 0x3f530
jmp 0x3b6fd
jmp 0x3b6ff
leaq 0x50(%rsp), %rdi
callq 0x3eb70
jmp 0x3b6a2
movq 0x20(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
callq 0x32830
jmp 0x3b748
movb $0x1, 0x67(%rsp)
testb $0x1, 0x67(%rsp)
jne 0x3b73b
movq 0x20(%rsp), %rdi
callq 0x32830
movq 0x28(%rsp), %rax
addq $0xb8, %rsp
retq
movq 0x78(%rsp), %rdi
callq 0x224a0
nopw %cs:(%rax,%rax)
// File: 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:
subq $0xb8, %rsp
movq %rdi, 0x20(%rsp)
movq %rdi, %rax
movq %rax, 0x28(%rsp)
movq %rdi, 0xb0(%rsp)
movq %rsi, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
movq %rax, 0x30(%rsp)
cmpl $0x1, (%rax)
je 0x3b874
movb $0x1, 0x73(%rsp)
movl $0x60, %edi
callq 0x22100
movq %rax, 0x10(%rsp)
leaq 0x87(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x224b0
movq 0x18(%rsp), %rdx
leaq 0xffc5(%rip), %rsi      # 0x4b791
leaq 0x88(%rsp), %rdi
callq 0x30e50
jmp 0x3b7db
movq 0x10(%rsp), %rdi
leaq 0xfe8b(%rip), %rsi      # 0x4b672
leaq 0xfffc(%rip), %rdx      # 0x4b7ea
movl $0x456, %ecx            # imm = 0x456
leaq 0x88(%rsp), %r8
callq 0x3ee00
jmp 0x3b802
movq 0x10(%rsp), %rdi
movb $0x0, 0x73(%rsp)
leaq 0x1c4a5(%rip), %rsi     # 0x57cb8
leaq 0x3646(%rip), %rdx      # 0x3ee60
callq 0x22480
jmp 0x3b97f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
jmp 0x3b84f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0x88(%rsp), %rdi
callq 0x22160
leaq 0x87(%rsp), %rdi
callq 0x22320
testb $0x1, 0x73(%rsp)
jne 0x3b865
jmp 0x3b86f
movq 0x10(%rsp), %rdi
callq 0x221d0
jmp 0x3b975
movq 0x20(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x68(%rsp)
movb $0x0, 0x67(%rsp)
callq 0x3f560
movq 0x68(%rsp), %rdi
callq 0x3f300
movq 0x20(%rsp), %rdi
movq %rax, %rsi
callq 0x3f570
jmp 0x3b8aa
movq 0x68(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0x3ead0
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rdi
callq 0x3eb00
movq %rax, 0x48(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x3eb30
testb $0x1, %al
jne 0x3b8e7
jmp 0x3b952
leaq 0x50(%rsp), %rdi
callq 0x3eb50
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
callq 0x3ae80
movq %rax, 0x8(%rsp)
jmp 0x3b90f
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rax
movq %rax, 0x38(%rsp)
leaq 0x38(%rsp), %rsi
callq 0x3f680
jmp 0x3b92a
jmp 0x3b92c
leaq 0x50(%rsp), %rdi
callq 0x3eb70
jmp 0x3b8d2
movq 0x20(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
callq 0x327d0
jmp 0x3b975
movb $0x1, 0x67(%rsp)
testb $0x1, 0x67(%rsp)
jne 0x3b968
movq 0x20(%rsp), %rdi
callq 0x327d0
movq 0x28(%rsp), %rax
addq $0xb8, %rsp
retq
movq 0x78(%rsp), %rdi
callq 0x224a0
nop
// File: 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:
subq $0xc8, %rsp
movq %rdi, 0x18(%rsp)
movq %rdi, %rax
movq %rax, 0x20(%rsp)
movq %rdi, 0xc0(%rsp)
movq %rsi, 0xb8(%rsp)
movq 0xb8(%rsp), %rax
movq %rax, 0x28(%rsp)
cmpl $0x1, (%rax)
je 0x3baa9
movb $0x1, 0x83(%rsp)
movl $0x60, %edi
callq 0x22100
movq %rax, 0x8(%rsp)
leaq 0x97(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x224b0
movq 0x10(%rsp), %rdx
leaq 0xfda2(%rip), %rsi      # 0x4b791
leaq 0x98(%rsp), %rdi
callq 0x30e50
jmp 0x3b9fe
movq 0x8(%rsp), %rdi
leaq 0xfc68(%rip), %rsi      # 0x4b672
leaq 0xfde7(%rip), %rdx      # 0x4b7f8
movl $0x465, %ecx            # imm = 0x465
leaq 0x98(%rsp), %r8
callq 0x3ee00
jmp 0x3ba25
movq 0x8(%rsp), %rdi
movb $0x0, 0x83(%rsp)
leaq 0x1c27f(%rip), %rsi     # 0x57cb8
leaq 0x3420(%rip), %rdx      # 0x3ee60
callq 0x22480
jmp 0x3bbde
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
jmp 0x3ba81
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
leaq 0x98(%rsp), %rdi
callq 0x22160
leaq 0x97(%rsp), %rdi
callq 0x22320
testb $0x1, 0x83(%rsp)
jne 0x3ba9a
jmp 0x3baa4
movq 0x8(%rsp), %rdi
callq 0x221d0
jmp 0x3bbd1
movq 0x18(%rsp), %rdi
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x78(%rsp)
movb $0x0, 0x77(%rsp)
callq 0x3ecd0
movq 0x78(%rsp), %rdi
callq 0x3f300
movq 0x18(%rsp), %rdi
movq %rax, %rsi
callq 0x3f6b0
jmp 0x3badf
movq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rdi
callq 0x3ead0
movq %rax, 0x60(%rsp)
movq 0x68(%rsp), %rdi
callq 0x3eb00
movq %rax, 0x58(%rsp)
leaq 0x60(%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0x3eb30
testb $0x1, %al
jne 0x3bb1f
jmp 0x3bba4
leaq 0x60(%rsp), %rdi
callq 0x3eb50
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rdi
callq 0x312a0
movq %rax, %rsi
leaq 0x30(%rsp), %rdi
callq 0x3b200
jmp 0x3bb47
movq 0x18(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x3eb90
jmp 0x3bb58
leaq 0x30(%rsp), %rdi
callq 0x22160
leaq 0x60(%rsp), %rdi
callq 0x3eb70
jmp 0x3bb07
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
jmp 0x3bbc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
leaq 0x30(%rsp), %rdi
callq 0x22160
jmp 0x3bbc7
movb $0x1, 0x77(%rsp)
testb $0x1, 0x77(%rsp)
jne 0x3bbba
movq 0x18(%rsp), %rdi
callq 0x32770
movq 0x20(%rsp), %rax
addq $0xc8, %rsp
retq
movq 0x18(%rsp), %rdi
callq 0x32770
movq 0x88(%rsp), %rdi
callq 0x224a0
nop
// File: 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:
subq $0xb8, %rsp
movq %rdi, 0x28(%rsp)
movq %rdi, %rax
movq %rax, 0x30(%rsp)
movq %rdi, 0xb0(%rsp)
movq %rsi, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
movq %rax, 0x38(%rsp)
cmpl $0x0, (%rax)
je 0x3bcf4
movb $0x1, 0x73(%rsp)
movl $0x60, %edi
callq 0x22100
movq %rax, 0x18(%rsp)
leaq 0x87(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x224b0
movq 0x20(%rsp), %rdx
leaq 0xfb45(%rip), %rsi      # 0x4b791
leaq 0x88(%rsp), %rdi
callq 0x30e50
jmp 0x3bc5b
movq 0x18(%rsp), %rdi
leaq 0xfa0b(%rip), %rsi      # 0x4b672
leaq 0xfb9b(%rip), %rdx      # 0x4b809
movl $0x474, %ecx            # imm = 0x474
leaq 0x88(%rsp), %r8
callq 0x3ee00
jmp 0x3bc82
movq 0x18(%rsp), %rdi
movb $0x0, 0x73(%rsp)
leaq 0x1c025(%rip), %rsi     # 0x57cb8
leaq 0x31c6(%rip), %rdx      # 0x3ee60
callq 0x22480
jmp 0x3bdf0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
jmp 0x3bccf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0x88(%rsp), %rdi
callq 0x22160
leaq 0x87(%rsp), %rdi
callq 0x22320
testb $0x1, 0x73(%rsp)
jne 0x3bce5
jmp 0x3bcef
movq 0x18(%rsp), %rdi
callq 0x221d0
jmp 0x3bde6
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x68(%rsp)
movb $0x0, 0x67(%rsp)
callq 0x3f7c0
movq 0x68(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0x3ea00
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rdi
callq 0x3ea30
movq %rax, 0x48(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x3ea60
testb $0x1, %al
jne 0x3bd4e
jmp 0x3bdc3
leaq 0x50(%rsp), %rdi
callq 0x3ea80
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rdi
addq $0x20, %rdi
callq 0x312a0
movq %rax, %rdi
callq 0x3ad80
movb %al, 0x17(%rsp)
jmp 0x3bd79
movq 0x28(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0x3f7d0
movq %rax, 0x8(%rsp)
jmp 0x3bd8f
movq 0x8(%rsp), %rax
movb 0x17(%rsp), %cl
andb $0x1, %cl
movb %cl, (%rax)
leaq 0x50(%rsp), %rdi
callq 0x3eaa0
jmp 0x3bd39
movq 0x28(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
callq 0x32760
jmp 0x3bde6
movb $0x1, 0x67(%rsp)
testb $0x1, 0x67(%rsp)
jne 0x3bdd9
movq 0x28(%rsp), %rdi
callq 0x32760
movq 0x30(%rsp), %rax
addq $0xb8, %rsp
retq
movq 0x78(%rsp), %rdi
callq 0x224a0
// File: 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:
subq $0xb8, %rsp
movq %rdi, 0x28(%rsp)
movq %rdi, %rax
movq %rax, 0x30(%rsp)
movq %rdi, 0xb0(%rsp)
movq %rsi, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
movq %rax, 0x38(%rsp)
cmpl $0x0, (%rax)
je 0x3bf04
movb $0x1, 0x73(%rsp)
movl $0x60, %edi
callq 0x22100
movq %rax, 0x18(%rsp)
leaq 0x87(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x224b0
movq 0x20(%rsp), %rdx
leaq 0xf935(%rip), %rsi      # 0x4b791
leaq 0x88(%rsp), %rdi
callq 0x30e50
jmp 0x3be6b
movq 0x18(%rsp), %rdi
leaq 0xf7fb(%rip), %rsi      # 0x4b672
leaq 0xf998(%rip), %rdx      # 0x4b816
movl $0x482, %ecx            # imm = 0x482
leaq 0x88(%rsp), %r8
callq 0x3ee00
jmp 0x3be92
movq 0x18(%rsp), %rdi
movb $0x0, 0x73(%rsp)
leaq 0x1be15(%rip), %rsi     # 0x57cb8
leaq 0x2fb6(%rip), %rdx      # 0x3ee60
callq 0x22480
jmp 0x3c003
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
jmp 0x3bedf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0x88(%rsp), %rdi
callq 0x22160
leaq 0x87(%rsp), %rdi
callq 0x22320
testb $0x1, 0x73(%rsp)
jne 0x3bef5
jmp 0x3beff
movq 0x18(%rsp), %rdi
callq 0x221d0
jmp 0x3bff9
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x68(%rsp)
movb $0x0, 0x67(%rsp)
callq 0x3f8c0
movq 0x68(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0x3ea00
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rdi
callq 0x3ea30
movq %rax, 0x48(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x3ea60
testb $0x1, %al
jne 0x3bf5e
jmp 0x3bfd6
leaq 0x50(%rsp), %rdi
callq 0x3ea80
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rdi
addq $0x20, %rdi
callq 0x312a0
movq %rax, %rdi
callq 0x3b100
movsd %xmm0, 0x10(%rsp)
jmp 0x3bf8b
movq 0x28(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0x3f8d0
movq %rax, 0x8(%rsp)
jmp 0x3bfa1
movq 0x8(%rsp), %rax
movsd 0x10(%rsp), %xmm0
movsd %xmm0, (%rax)
leaq 0x50(%rsp), %rdi
callq 0x3eaa0
jmp 0x3bf49
movq 0x28(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
callq 0x32750
jmp 0x3bff9
movb $0x1, 0x67(%rsp)
testb $0x1, 0x67(%rsp)
jne 0x3bfec
movq 0x28(%rsp), %rdi
callq 0x32750
movq 0x30(%rsp), %rax
addq $0xb8, %rsp
retq
movq 0x78(%rsp), %rdi
callq 0x224a0
nopw %cs:(%rax,%rax)
// File: swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::wantIntDict[abi:cxx11]() const
std::map<std::string, intmax_t> Json::wantIntDict() 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, intmax_t> res;

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

	return res;
}

// Assembly:
subq $0xb8, %rsp
movq %rdi, 0x28(%rsp)
movq %rdi, %rax
movq %rax, 0x30(%rsp)
movq %rdi, 0xb0(%rsp)
movq %rsi, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
movq %rax, 0x38(%rsp)
cmpl $0x0, (%rax)
je 0x3c124
movb $0x1, 0x73(%rsp)
movl $0x60, %edi
callq 0x22100
movq %rax, 0x18(%rsp)
leaq 0x87(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x224b0
movq 0x20(%rsp), %rdx
leaq 0xf715(%rip), %rsi      # 0x4b791
leaq 0x88(%rsp), %rdi
callq 0x30e50
jmp 0x3c08b
movq 0x18(%rsp), %rdi
leaq 0xf5db(%rip), %rsi      # 0x4b672
leaq 0xf785(%rip), %rdx      # 0x4b823
movl $0x490, %ecx            # imm = 0x490
leaq 0x88(%rsp), %r8
callq 0x3ee00
jmp 0x3c0b2
movq 0x18(%rsp), %rdi
movb $0x0, 0x73(%rsp)
leaq 0x1bbf5(%rip), %rsi     # 0x57cb8
leaq 0x2d96(%rip), %rdx      # 0x3ee60
callq 0x22480
jmp 0x3c220
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
jmp 0x3c0ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
leaq 0x88(%rsp), %rdi
callq 0x22160
leaq 0x87(%rsp), %rdi
callq 0x22320
testb $0x1, 0x73(%rsp)
jne 0x3c115
jmp 0x3c11f
movq 0x18(%rsp), %rdi
callq 0x221d0
jmp 0x3c216
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x68(%rsp)
movb $0x0, 0x67(%rsp)
callq 0x3f9c0
movq 0x68(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0x3ea00
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rdi
callq 0x3ea30
movq %rax, 0x48(%rsp)
leaq 0x50(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x3ea60
testb $0x1, %al
jne 0x3c17e
jmp 0x3c1f3
leaq 0x50(%rsp), %rdi
callq 0x3ea80
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rdi
addq $0x20, %rdi
callq 0x312a0
movq %rax, %rdi
callq 0x3ae80
movq %rax, 0x10(%rsp)
jmp 0x3c1aa
movq 0x28(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0x3f9d0
movq %rax, 0x8(%rsp)
jmp 0x3c1c0
movq 0x8(%rsp), %rax
movq 0x10(%rsp), %rcx
movq %rcx, (%rax)
leaq 0x50(%rsp), %rdi
callq 0x3eaa0
jmp 0x3c169
movq 0x28(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x78(%rsp)
movl %eax, 0x74(%rsp)
callq 0x32740
jmp 0x3c216
movb $0x1, 0x67(%rsp)
testb $0x1, 0x67(%rsp)
jne 0x3c209
movq 0x28(%rsp), %rdi
callq 0x32740
movq 0x30(%rsp), %rax
addq $0xb8, %rsp
retq
movq 0x78(%rsp), %rdi
callq 0x224a0
// File: swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::wantStringDict[abi:cxx11]() const
std::map<std::string, std::string> Json::wantStringDict() 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, std::string> res;

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

	return res;
}

// Assembly:
subq $0xc8, %rsp
movq %rdi, 0x18(%rsp)
movq %rdi, %rax
movq %rax, 0x20(%rsp)
movq %rdi, 0xc0(%rsp)
movq %rsi, 0xb8(%rsp)
movq 0xb8(%rsp), %rax
movq %rax, 0x28(%rsp)
cmpl $0x0, (%rax)
je 0x3c349
movb $0x1, 0x83(%rsp)
movl $0x60, %edi
callq 0x22100
movq %rax, 0x8(%rsp)
leaq 0x97(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x224b0
movq 0x10(%rsp), %rdx
leaq 0xf502(%rip), %rsi      # 0x4b791
leaq 0x98(%rsp), %rdi
callq 0x30e50
jmp 0x3c29e
movq 0x8(%rsp), %rdi
leaq 0xf3c8(%rip), %rsi      # 0x4b672
leaq 0xf57e(%rip), %rdx      # 0x4b82f
movl $0x49e, %ecx            # imm = 0x49E
leaq 0x98(%rsp), %r8
callq 0x3ee00
jmp 0x3c2c5
movq 0x8(%rsp), %rdi
movb $0x0, 0x83(%rsp)
leaq 0x1b9df(%rip), %rsi     # 0x57cb8
leaq 0x2b80(%rip), %rdx      # 0x3ee60
callq 0x22480
jmp 0x3c47b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
jmp 0x3c321
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
leaq 0x98(%rsp), %rdi
callq 0x22160
leaq 0x97(%rsp), %rdi
callq 0x22320
testb $0x1, 0x83(%rsp)
jne 0x3c33a
jmp 0x3c344
movq 0x8(%rsp), %rdi
callq 0x221d0
jmp 0x3c46e
movq 0x18(%rsp), %rdi
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x78(%rsp)
movb $0x0, 0x77(%rsp)
callq 0x3fac0
movq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rdi
callq 0x3ea00
movq %rax, 0x60(%rsp)
movq 0x68(%rsp), %rdi
callq 0x3ea30
movq %rax, 0x58(%rsp)
leaq 0x60(%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0x3ea60
testb $0x1, %al
jne 0x3c3a6
jmp 0x3c441
leaq 0x60(%rsp), %rdi
callq 0x3ea80
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rdi
addq $0x20, %rdi
callq 0x312a0
movq %rax, %rsi
leaq 0x30(%rsp), %rdi
callq 0x3b200
jmp 0x3c3d2
movq 0x18(%rsp), %rdi
movq 0x50(%rsp), %rsi
callq 0x3fad0
movq %rax, (%rsp)
jmp 0x3c3e7
movq (%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x22390
leaq 0x30(%rsp), %rdi
callq 0x22160
leaq 0x60(%rsp), %rdi
callq 0x3eaa0
jmp 0x3c38e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
jmp 0x3c464
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x88(%rsp)
movl %eax, 0x84(%rsp)
leaq 0x30(%rsp), %rdi
callq 0x22160
jmp 0x3c464
movb $0x1, 0x77(%rsp)
testb $0x1, 0x77(%rsp)
jne 0x3c457
movq 0x18(%rsp), %rdi
callq 0x32730
movq 0x20(%rsp), %rax
addq $0xc8, %rsp
retq
movq 0x18(%rsp), %rdi
callq 0x32730
movq 0x88(%rsp), %rdi
callq 0x224a0
nopl (%rax,%rax)
// File: swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::getBool(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&)
bool Json::getBool(const std::string& path, bool dft, const std::string& delim)
{
	JsonPtr node = getNode(path, delim);
	if (node)
		return node->getBool(dft);
	else
		return dft;
}

// Assembly:
subq $0x48, %rsp
movb %dl, %al
movq %rdi, 0x38(%rsp)
movq %rsi, 0x30(%rsp)
andb $0x1, %al
movb %al, 0x2f(%rsp)
movq %rcx, 0x20(%rsp)
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq 0x20(%rsp), %rcx
leaq 0x10(%rsp), %rdi
callq 0x36f80
leaq 0x10(%rsp), %rdi
callq 0x31c60
testb $0x1, %al
jne 0x3c4c4
jmp 0x3c4ef
leaq 0x10(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
movb 0x2f(%rsp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x3ab20
andb $0x1, %al
movb %al, 0x47(%rsp)
movl $0x1, 0xc(%rsp)
jmp 0x3c501
movb 0x2f(%rsp), %al
andb $0x1, %al
movb %al, 0x47(%rsp)
movl $0x1, 0xc(%rsp)
leaq 0x10(%rsp), %rdi
callq 0x31150
movb 0x47(%rsp), %al
andb $0x1, %al
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::getInt(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&)
intmax_t Json::getInt(const std::string& path, intmax_t dft, const std::string& delim)
{
	JsonPtr node = getNode(path, delim);
	if (node)
		return node->getInt(dft);
	else
		return dft;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq %rsi, 0x30(%rsp)
movq %rdx, 0x28(%rsp)
movq %rcx, 0x20(%rsp)
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq 0x20(%rsp), %rcx
leaq 0x10(%rsp), %rdi
callq 0x36f80
leaq 0x10(%rsp), %rdi
callq 0x31c60
testb $0x1, %al
jne 0x3c561
jmp 0x3c587
leaq 0x10(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
movq 0x28(%rsp), %rsi
callq 0x3ab70
movq %rax, 0x40(%rsp)
movl $0x1, 0xc(%rsp)
jmp 0x3c599
movq 0x28(%rsp), %rax
movq %rax, 0x40(%rsp)
movl $0x1, 0xc(%rsp)
leaq 0x10(%rsp), %rdi
callq 0x31150
movq 0x40(%rsp), %rax
addq $0x48, %rsp
retq
nopl (%rax)
// File: swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::getUInt(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&)
uintmax_t Json::getUInt(const std::string& path, uintmax_t dft, const std::string& delim)
{
	JsonPtr node = getNode(path, delim);
	if (node)
		return node->getUInt(dft);
	else
		return dft;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq %rsi, 0x30(%rsp)
movq %rdx, 0x28(%rsp)
movq %rcx, 0x20(%rsp)
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq 0x20(%rsp), %rcx
leaq 0x10(%rsp), %rdi
callq 0x36f80
leaq 0x10(%rsp), %rdi
callq 0x31c60
testb $0x1, %al
jne 0x3c5f1
jmp 0x3c617
leaq 0x10(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
movq 0x28(%rsp), %rsi
callq 0x3abe0
movq %rax, 0x40(%rsp)
movl $0x1, 0xc(%rsp)
jmp 0x3c629
movq 0x28(%rsp), %rax
movq %rax, 0x40(%rsp)
movl $0x1, 0xc(%rsp)
leaq 0x10(%rsp), %rdi
callq 0x31150
movq 0x40(%rsp), %rax
addq $0x48, %rsp
retq
nopl (%rax)
// File: swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::getReal(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&)
double Json::getReal(const std::string& path, double dft, const std::string& delim)
{
	JsonPtr node = getNode(path, delim);
	if (node)
		return node->getReal(dft);
	else
		return dft;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq %rsi, 0x30(%rsp)
movsd %xmm0, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq 0x20(%rsp), %rcx
leaq 0x10(%rsp), %rdi
callq 0x36f80
leaq 0x10(%rsp), %rdi
callq 0x31c60
testb $0x1, %al
jne 0x3c682
jmp 0x3c6aa
leaq 0x10(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
movsd 0x28(%rsp), %xmm0
callq 0x3ac50
movsd %xmm0, 0x40(%rsp)
movl $0x1, 0xc(%rsp)
jmp 0x3c6be
movsd 0x28(%rsp), %xmm0
movsd %xmm0, 0x40(%rsp)
movl $0x1, 0xc(%rsp)
leaq 0x10(%rsp), %rdi
callq 0x31150
movsd 0x40(%rsp), %xmm0
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::getStringAt(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&)
std::string Json::getStringAt(const std::string& path, const std::string& dft, const std::string& delim)
{
	JsonPtr node = getNode(path, delim);
	if (node)
		return node->getString(dft);
	else
		return dft;
}

// Assembly:
subq $0x58, %rsp
movq %rdi, (%rsp)
movq %rdi, %rax
movq %rax, 0x8(%rsp)
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
movq %rcx, 0x38(%rsp)
movq %r8, 0x30(%rsp)
movq 0x48(%rsp), %rsi
movq 0x40(%rsp), %rdx
movq 0x30(%rsp), %rcx
leaq 0x20(%rsp), %rdi
callq 0x36f80
leaq 0x20(%rsp), %rdi
callq 0x31c60
testb $0x1, %al
jne 0x3c732
jmp 0x3c773
leaq 0x20(%rsp), %rdi
callq 0x312a0
movq (%rsp), %rdi
movq %rax, %rsi
movq 0x38(%rsp), %rdx
callq 0x3aca0
jmp 0x3c74f
movl $0x1, 0x10(%rsp)
jmp 0x3c78b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x18(%rsp)
movl %eax, 0x14(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x31150
jmp 0x3c79f
movq (%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0x220e0
jmp 0x3c783
movl $0x1, 0x10(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x31150
movq 0x8(%rsp), %rax
addq $0x58, %rsp
retq
movq 0x18(%rsp), %rdi
callq 0x224a0
nopl (%rax)
// File: swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::getList(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&)
const std::list<JsonPtr> * const Json::getList(const std::string& path, const std::string& delim)
{
	JsonPtr node = getNode(path, delim);
	if (node)
		return node->getList();
	else
		return NULL;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
movq 0x28(%rsp), %rsi
movq 0x20(%rsp), %rdx
movq 0x18(%rsp), %rcx
leaq 0x8(%rsp), %rdi
callq 0x36f80
leaq 0x8(%rsp), %rdi
callq 0x31c60
testb $0x1, %al
jne 0x3c7ec
jmp 0x3c80d
leaq 0x8(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
callq 0x3ad00
movq %rax, 0x30(%rsp)
movl $0x1, 0x4(%rsp)
jmp 0x3c81e
movq $0x0, 0x30(%rsp)
movl $0x1, 0x4(%rsp)
leaq 0x8(%rsp), %rdi
callq 0x31150
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::getDict(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&)
const std::map<std::string, JsonPtr> * const Json::getDict(const std::string& path, const std::string& delim)
{
	JsonPtr node = getNode(path, delim);
	if (node)
		return node->getDict();
	else
		return NULL;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
movq 0x28(%rsp), %rsi
movq 0x20(%rsp), %rdx
movq 0x18(%rsp), %rcx
leaq 0x8(%rsp), %rdi
callq 0x36f80
leaq 0x8(%rsp), %rdi
callq 0x31c60
testb $0x1, %al
jne 0x3c87c
jmp 0x3c89d
leaq 0x8(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
callq 0x3ad40
movq %rax, 0x30(%rsp)
movl $0x1, 0x4(%rsp)
jmp 0x3c8ae
movq $0x0, 0x30(%rsp)
movl $0x1, 0x4(%rsp)
leaq 0x8(%rsp), %rdi
callq 0x31150
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: swxlion[P]swxJson/src/swxJson.cpp
// Function: swxJson::Json::wantBool(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::wantBool(const std::string& path, const std::string& delim)
{
	JsonPtr node = getNode(path, delim);
	if (node)
		return node->wantBool();
	
	throw JSON_ERROR_MSG(JosnNodeNotExistError, "Target node doesn't exist.");
}

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq %rdx, 0x60(%rsp)
movq 0x70(%rsp), %rsi
movq 0x68(%rsp), %rdx
movq 0x60(%rsp), %rcx
leaq 0x50(%rsp), %rdi
callq 0x36f80
leaq 0x50(%rsp), %rdi
callq 0x31c60
testb $0x1, %al
jne 0x3c90c
jmp 0x3c94c
leaq 0x50(%rsp), %rdi
callq 0x312a0
movq %rax, %rdi
callq 0x3ad80
movb %al, 0x1d(%rsp)
jmp 0x3c924
leaq 0x50(%rsp), %rdi
callq 0x31150
movb 0x1d(%rsp), %al
andb $0x1, %al
addq $0x78, %rsp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
jmp 0x3ca11
movb $0x1, 0x1e(%rsp)
movl $0x60, %edi
callq 0x22100
movq %rax, 0x8(%rsp)
leaq 0x1f(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x224b0
movq 0x10(%rsp), %rdx
leaq 0xeec3(%rip), %rsi      # 0x4b83e
leaq 0x20(%rsp), %rdi
callq 0x30e50
jmp 0x3c987
movq 0x8(%rsp), %rdi
leaq 0xecdf(%rip), %rsi      # 0x4b672
leaq 0xedee(%rip), %rdx      # 0x4b788
movl $0x4f9, %ecx            # imm = 0x4F9
leaq 0x20(%rsp), %r8
callq 0x3f210
jmp 0x3c9ab
movq 0x8(%rsp), %rdi
movb $0x0, 0x1e(%rsp)
leaq 0x1b32c(%rip), %rsi     # 0x57ce8
leaq 0x28ad(%rip), %rdx      # 0x3f270
callq 0x22480
jmp 0x3ca25
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
jmp 0x3c9f2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x48(%rsp)
movl %eax, 0x44(%rsp)
leaq 0x20(%rsp), %rdi
callq 0x22160
leaq 0x1f(%rsp), %rdi
callq 0x22320
testb $0x1, 0x1e(%rsp)
jne 0x3ca05
jmp 0x3ca0f
movq 0x8(%rsp), %rdi
callq 0x221d0
jmp 0x3ca11
leaq 0x50(%rsp), %rdi
callq 0x31150
movq 0x48(%rsp), %rdi
callq 0x224a0
nopw %cs:(%rax,%rax)