// File: mouda[P]LTE_random_access-simulate/ap.cpp
// Function: alglib::str_vector_create(char const*, bool, std::vector<char const*, std::allocator<char const*>>*)
void alglib::str_vector_create(const char *src, bool match_head_only, std::vector<const char*> *p_vec)
{
    //
    // parse beginning of the string.
    // try to handle "[]" string
    //
    p_vec->clear();
    if( *src!='[' )
        throw alglib::ap_error("Incorrect initializer for vector");
    src++;
    if( *src==']' )
        return;
    p_vec->push_back(src);
    for(;;)
    {
        if( *src==0 )
            throw alglib::ap_error("Incorrect initializer for vector");
        if( *src==']' )
        {
            if( src[1]==0 || !match_head_only)
                return;
            throw alglib::ap_error("Incorrect initializer for vector");
        }
        if( *src==',' )
        {
            p_vec->push_back(src+1);
            src++;
            continue;
        }
        src++;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %sil, %al
movq %rdi, -0x8(%rbp)
andb $0x1, %al
movb %al, -0x9(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x18(%rbp), %rdi
callq 0x53230
movq -0x8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5b, %eax
je 0x47860
movl $0x20, %edi
callq 0x3130
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x38(%rbp)
leaq 0x10c7d(%rip), %rsi     # 0x584a5
callq 0x42660
jmp 0x4782f
movq -0x38(%rbp), %rdi
leaq 0x1d33e(%rip), %rsi     # 0x64b78
leaq -0x2a091(%rip), %rdx    # 0x1d7b0
callq 0x3490
movq -0x38(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
callq 0x31e0
jmp 0x479aa
movq -0x8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5d, %eax
jne 0x4787d
jmp 0x479a4
movq -0x18(%rbp), %rdi
leaq -0x8(%rbp), %rsi
callq 0x53250
movq -0x8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x478e9
movl $0x20, %edi
callq 0x3130
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x40(%rbp)
leaq 0x10bf4(%rip), %rsi     # 0x584a5
callq 0x42660
jmp 0x478b8
movq -0x40(%rbp), %rdi
leaq 0x1d2b5(%rip), %rsi     # 0x64b78
leaq -0x2a11a(%rip), %rdx    # 0x1d7b0
callq 0x3490
movq -0x40(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
callq 0x31e0
jmp 0x479aa
movq -0x8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5d, %eax
jne 0x4795d
movq -0x8(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
je 0x47908
testb $0x1, -0x9(%rbp)
jne 0x4790d
jmp 0x479a4
movl $0x20, %edi
callq 0x3130
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x48(%rbp)
leaq 0x10b7d(%rip), %rsi     # 0x584a5
callq 0x42660
jmp 0x4792f
movq -0x48(%rbp), %rdi
leaq 0x1d23e(%rip), %rsi     # 0x64b78
leaq -0x2a191(%rip), %rdx    # 0x1d7b0
callq 0x3490
movq -0x48(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
callq 0x31e0
jmp 0x479aa
movq -0x8(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2c, %eax
jne 0x47993
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
leaq -0x30(%rbp), %rsi
callq 0x532c0
movq -0x8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
jmp 0x4788a
movq -0x8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
jmp 0x4788a
addq $0x50, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x34c0
nopw %cs:(%rax,%rax)