// File: /workspace/github_cpp_makefile_star2_O3/menhits[P]phplus/src/utils/stringUtils.cpp
// Function: str::splitBy(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::__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)
void splitBy(vector<string>& out, const string& in, const string& splitter, bool keepSplitter)
{
	int i=0;
	int start=0;
	
	while (i<=(int)in.size()-(int)splitter.size())
	{
		if (subMatches(in, i, splitter))
		{
			if (keepSplitter)
				nextGlyph(i, in);
			
			out.push_back(in.substr(start, i-start));
			
			if (!keepSplitter)
				nextGlyph(i, in);
			
			start=i;
		}
		else
		{
			nextGlyph(i, in);
		}
	}
	
	if ((int)in.size()!=start)
		out.push_back(in.substr(start, in.size()-start));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %ecx, %ebp
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
movq 0x8(%rsi), %rcx
movq 0x8(%rdx), %rdx
xorl %eax, %eax
cmpl %edx, %ecx
jl 0x758c6
xorl %eax, %eax
leaq 0x8(%rsp), %r12
xorl %r13d, %r13d
testl %r13d, %r13d
js 0x757a6
movl %r13d, %esi
leaq (%rdx,%rsi), %rdi
cmpq %rcx, %rdi
jbe 0x757e1
movq (%r14), %rdx
movslq %r13d, %r8
movslq %ecx, %rdi
leaq 0x1(%r8), %rsi
cmpq %rdi, %rsi
cmovleq %rdi, %rsi
leaq 0x1(%r8), %r13
cmpq %rdi, %r13
jge 0x757d9
movb 0x1(%rdx,%r8), %r8b
andb $-0x40, %r8b
negb %r8b
movq %r13, %r8
jo 0x757ba
jmp 0x758b5
movq %rsi, %r13
jmp 0x758b5
testl %edx, %edx
jle 0x75809
movq (%r15), %rdi
andl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
movq (%r14), %r8
addq %rsi, %r8
xorl %r9d, %r9d
movb (%r8,%r9), %r10b
cmpb (%rdi,%r9), %r10b
jne 0x757a6
incq %r9
cmpq %r9, %rdx
jne 0x757f7
testb %bpl, %bpl
je 0x75841
movq (%r14), %rdx
movslq %ecx, %rcx
leaq 0x1(%rsi), %rdi
cmpq %rcx, %rdi
cmovgq %rdi, %rcx
leaq -0x1(%rcx), %rdi
cmpq %rsi, %rdi
je 0x7583b
movb 0x1(%rdx,%rsi), %r8b
incq %rsi
andb $-0x40, %r8b
negb %r8b
jo 0x75823
jmp 0x7583e
movq %rcx, %rsi
movl %esi, %r13d
movslq %eax, %rdx
movl %r13d, %eax
subl %edx, %eax
movslq %eax, %rcx
movq %r12, %rdi
movq %r14, %rsi
callq 0xa2f0
movq %rbx, %rdi
movq %r12, %rsi
callq 0x17280
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x75876
callq 0xa2b0
movq 0x8(%r14), %rcx
testb %bpl, %bpl
jne 0x758b2
movq (%r14), %rax
movslq %r13d, %rdi
movslq %ecx, %rsi
leaq 0x1(%rdi), %rdx
cmpq %rsi, %rdx
cmovleq %rsi, %rdx
leaq 0x1(%rdi), %r13
cmpq %rsi, %r13
jge 0x758af
movb 0x1(%rax,%rdi), %dil
andb $-0x40, %dil
negb %dil
movq %r13, %rdi
jo 0x75893
jmp 0x758b2
movq %rdx, %r13
movl %r13d, %eax
movq 0x8(%r15), %rdx
movl %ecx, %esi
subl %edx, %esi
cmpl %esi, %r13d
jle 0x75795
cmpl %ecx, %eax
je 0x758fe
movslq %eax, %rdx
subq %rdx, %rcx
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0xa2f0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x17280
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x758fe
callq 0xa2b0
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x75928
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x75932
callq 0xa2b0
movq %rbx, %rdi
callq 0xa510