// File: /workspace/github_cpp_makefile_star2_O1/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
jge 0x7482e
cmpl %ecx, %eax
je 0x7481f
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 0x16ffe
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x7481f
callq 0xa2b0
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %eax, %eax
leaq 0x8(%rsp), %r12
xorl %r13d, %r13d
testl %r13d, %r13d
js 0x748d2
movl %r13d, %esi
leaq (%rdx,%rsi), %rdi
cmpq %rcx, %rdi
ja 0x748d2
testl %edx, %edx
setle %dil
jle 0x74894
movq (%r14), %rdi
movq (%r15), %r8
movb (%rdi,%rsi), %r9b
cmpb (%r8), %r9b
jne 0x748d2
andl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
addq %rsi, %rdi
movl $0x1, %r10d
movq %r10, %r9
cmpq %r10, %rdx
je 0x7488d
movb (%rdi,%r9), %r11b
leaq 0x1(%r9), %r10
cmpb (%r8,%r9), %r11b
je 0x74877
cmpq %rdx, %r9
setae %dil
testb %dil, %dil
je 0x748d2
testb %bpl, %bpl
je 0x74922
movq (%r14), %rdx
movslq %ecx, %rcx
leaq 0x1(%rsi), %rdi
cmpq %rcx, %rdi
cmovgq %rdi, %rcx
leaq -0x1(%rcx), %rdi
movq %rsi, %r13
cmpq %r13, %rdi
je 0x7491f
movb 0x1(%rdx,%r13), %sil
incq %r13
andb $-0x40, %sil
negb %sil
jo 0x748ba
jmp 0x74922
movq (%r14), %rdx
movslq %r13d, %rdi
movslq %ecx, %rsi
leaq 0x1(%rdi), %rcx
cmpq %rsi, %rcx
cmovleq %rsi, %rcx
leaq 0x1(%rdi), %r13
cmpq %rsi, %r13
jge 0x74902
movb 0x1(%rdx,%rdi), %dil
andb $-0x40, %dil
negb %dil
movq %r13, %rdi
jo 0x748e6
jmp 0x74905
movq %rcx, %r13
movq 0x8(%r14), %rcx
movq 0x8(%r15), %rdx
movl %ecx, %esi
subl %edx, %esi
cmpl %esi, %r13d
jle 0x74838
jmp 0x747e7
movq %rcx, %r13
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 0x16ffe
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x74957
callq 0xa2b0
testb %bpl, %bpl
jne 0x74990
movslq 0x8(%r14), %rax
movq (%r14), %rcx
movslq %r13d, %rsi
leaq 0x1(%rsi), %rdx
cmpq %rax, %rdx
cmovleq %rax, %rdx
leaq 0x1(%rsi), %r13
cmpq %rax, %r13
jge 0x7498d
movb 0x1(%rcx,%rsi), %sil
andb $-0x40, %sil
negb %sil
movq %r13, %rsi
jo 0x74971
jmp 0x74990
movq %rdx, %r13
movl %r13d, %eax
jmp 0x74905
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x749b3
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x749bd
callq 0xa2b0
movq %rbx, %rdi
callq 0xa510