// File: swxlion[P]swxJson/src/swxJson.cpp
// Function: pathSplit(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::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&)
std::vector<std::string>& pathSplit(const std::string& s, const std::string& delim, std::vector<std::string> &elems)
{

	std::string::size_type start = 0;
	while (true)
	{
		if (start == s.size())
		{
			elems.push_back("");
			return elems;
		}

		std::string::size_type pos = s.find_first_of(delim, start);
		if (pos == start)
		{
			elems.push_back("");
			start += 1;
		}
		else if (pos != std::string::npos)
		{
			std::string tmp = s.substr(start, pos - start);
			elems.push_back(tmp);
			start = pos + 1;
		}
		else
		{
			std::string tmp = s.substr(start);
			elems.push_back(tmp);
			return elems;
		}
	}
}

// Assembly:
subq $0x108, %rsp            # imm = 0x108
movq %rdi, 0xf8(%rsp)
movq %rsi, 0xf0(%rsp)
movq %rdx, 0xe8(%rsp)
movq $0x0, 0xe0(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0xf8(%rsp), %rdi
callq 0x221a0
movq %rax, %rcx
movq 0x30(%rsp), %rax
cmpq %rcx, %rax
jne 0x36b9c
movq 0xe8(%rsp), %rax
movq %rax, 0x20(%rsp)
leaq 0xbf(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x224b0
movq 0x28(%rsp), %rdx
leaq 0x14973(%rip), %rsi     # 0x4b474
leaq 0xc0(%rsp), %rdi
callq 0x30e50
jmp 0x36b10
movq 0x20(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x3eb90
jmp 0x36b24
leaq 0xc0(%rsp), %rdi
callq 0x22160
leaq 0xbf(%rsp), %rdi
callq 0x22320
movq 0xe8(%rsp), %rax
movq %rax, 0x100(%rsp)
jmp 0x36da6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb0(%rsp)
movl %eax, 0xac(%rsp)
jmp 0x36b8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb0(%rsp)
movl %eax, 0xac(%rsp)
leaq 0xc0(%rsp), %rdi
callq 0x22160
leaq 0xbf(%rsp), %rdi
callq 0x22320
jmp 0x36db6
movq 0xf8(%rsp), %rdi
movq 0xf0(%rsp), %rsi
movq 0xe0(%rsp), %rdx
callq 0x22260
movq %rax, 0xa0(%rsp)
movq 0xa0(%rsp), %rax
cmpq 0xe0(%rsp), %rax
jne 0x36c98
movq 0xe8(%rsp), %rax
movq %rax, 0x10(%rsp)
leaq 0x7f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x224b0
movq 0x18(%rsp), %rdx
leaq 0x14875(%rip), %rsi     # 0x4b474
leaq 0x80(%rsp), %rdi
callq 0x30e50
jmp 0x36c0e
movq 0x10(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x3eb90
jmp 0x36c22
leaq 0x80(%rsp), %rdi
callq 0x22160
leaq 0x7f(%rsp), %rdi
callq 0x22320
movq 0xe0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xe0(%rsp)
jmp 0x36da1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb0(%rsp)
movl %eax, 0xac(%rsp)
jmp 0x36c89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb0(%rsp)
movl %eax, 0xac(%rsp)
leaq 0x80(%rsp), %rdi
callq 0x22160
leaq 0x7f(%rsp), %rdi
callq 0x22320
jmp 0x36db6
cmpq $-0x1, 0xa0(%rsp)
je 0x36d2b
movq 0xf8(%rsp), %rsi
movq 0xe0(%rsp), %rdx
movq 0xa0(%rsp), %rcx
subq %rdx, %rcx
leaq 0x58(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x222e0
movq 0x8(%rsp), %rsi
movq 0xe8(%rsp), %rdi
callq 0x3ebc0
jmp 0x36ce5
movq 0xa0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xe0(%rsp)
leaq 0x58(%rsp), %rdi
callq 0x22160
jmp 0x36d9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb0(%rsp)
movl %eax, 0xac(%rsp)
leaq 0x58(%rsp), %rdi
callq 0x22160
jmp 0x36db6
movq 0xf8(%rsp), %rsi
movq 0xe0(%rsp), %rdx
leaq 0x38(%rsp), %rdi
movq %rdi, (%rsp)
movq $-0x1, %rcx
callq 0x222e0
movq (%rsp), %rsi
movq 0xe8(%rsp), %rdi
callq 0x3ebc0
jmp 0x36d63
movq 0xe8(%rsp), %rax
movq %rax, 0x100(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x22160
jmp 0x36da6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xb0(%rsp)
movl %eax, 0xac(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x22160
jmp 0x36db6
jmp 0x36da1
jmp 0x36aab
movq 0x100(%rsp), %rax
addq $0x108, %rsp            # imm = 0x108
retq
movq 0xb0(%rsp), %rdi
callq 0x224a0
nopw %cs:(%rax,%rax)