// File: AutomataLab[P]JSONSki/src/QueryProcessor.cpp
// Function: QueryProcessor::hasMoreElements(long&)
__attribute__((always_inline)) bool QueryProcessor::hasMoreElements(long& pos) {
    while (mRecord[pos] == ' ' || mRecord[pos] == '\n' || mRecord[pos] == '\r') ++pos;
    ++pos;
    while (mRecord[pos] == ' ' || mRecord[pos] == '\n' || mRecord[pos] == '\r') ++pos; 
    if (mRecord[pos] == ']') {
        return false;
    }
    if (mRecord[pos] == ',') ++pos;
    while (mRecord[pos] == ' ' || mRecord[pos] == '\n' || mRecord[pos] == '\r') ++pos;
    return true;
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq -0x10(%rsp), %rax
movq %rax, -0x20(%rsp)
movq -0x20(%rsp), %rax
movq 0x2c8(%rax), %rax
movq -0x18(%rsp), %rcx
movq (%rcx), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x20, %ecx
movb %al, -0x21(%rsp)
je 0x2380c
movq -0x20(%rsp), %rax
movq 0x2c8(%rax), %rax
movq -0x18(%rsp), %rcx
movq (%rcx), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0xa, %ecx
movb %al, -0x21(%rsp)
je 0x2380c
movq -0x20(%rsp), %rax
movq 0x2c8(%rax), %rax
movq -0x18(%rsp), %rcx
movq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0xd, %eax
sete %al
movb %al, -0x21(%rsp)
movb -0x21(%rsp), %al
testb $0x1, %al
jne 0x23816
jmp 0x2382a
movq -0x18(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x237a4
movq -0x18(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq -0x20(%rsp), %rax
movq 0x2c8(%rax), %rax
movq -0x18(%rsp), %rcx
movq (%rcx), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x20, %ecx
movb %al, -0x22(%rsp)
je 0x238a1
movq -0x20(%rsp), %rax
movq 0x2c8(%rax), %rax
movq -0x18(%rsp), %rcx
movq (%rcx), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0xa, %ecx
movb %al, -0x22(%rsp)
je 0x238a1
movq -0x20(%rsp), %rax
movq 0x2c8(%rax), %rax
movq -0x18(%rsp), %rcx
movq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0xd, %eax
sete %al
movb %al, -0x22(%rsp)
movb -0x22(%rsp), %al
testb $0x1, %al
jne 0x238ab
jmp 0x238bf
movq -0x18(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x23839
movq -0x20(%rsp), %rax
movq 0x2c8(%rax), %rax
movq -0x18(%rsp), %rcx
movq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5d, %eax
jne 0x238e6
movb $0x0, -0x1(%rsp)
jmp 0x2399f
movq -0x20(%rsp), %rax
movq 0x2c8(%rax), %rax
movq -0x18(%rsp), %rcx
movq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2c, %eax
jne 0x23912
movq -0x18(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x23914
movq -0x20(%rsp), %rax
movq 0x2c8(%rax), %rax
movq -0x18(%rsp), %rcx
movq (%rcx), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0x20, %ecx
movb %al, -0x23(%rsp)
je 0x2397c
movq -0x20(%rsp), %rax
movq 0x2c8(%rax), %rax
movq -0x18(%rsp), %rcx
movq (%rcx), %rcx
movsbl (%rax,%rcx), %ecx
movb $0x1, %al
cmpl $0xa, %ecx
movb %al, -0x23(%rsp)
je 0x2397c
movq -0x20(%rsp), %rax
movq 0x2c8(%rax), %rax
movq -0x18(%rsp), %rcx
movq (%rcx), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0xd, %eax
sete %al
movb %al, -0x23(%rsp)
movb -0x23(%rsp), %al
testb $0x1, %al
jne 0x23986
jmp 0x2399a
movq -0x18(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x23914
movb $0x1, -0x1(%rsp)
movb -0x1(%rsp), %al
andb $0x1, %al
retq
nopw %cs:(%rax,%rax)