// File: mouda[P]LTE_random_access-simulate/ap.cpp
// Function: alglib::boolean_2d_array::boolean_2d_array(char const*)
alglib::boolean_2d_array::boolean_2d_array(const char *s)  
{
    std::vector< std::vector<const char*> > smat;
    size_t i, j;
    char *p = filter_spaces(s);
    try
    {
        str_matrix_create(p, &smat);
        if( smat.size()!=0 )
        {
            allocate_own((ae_int_t)(smat.size()), (ae_int_t)(smat[0].size()), alglib_impl::DT_BOOL);
            for(i=0; i<smat.size(); i++)
                for(j=0; j<smat[0].size(); j++)
                    operator()((ae_int_t)i,(ae_int_t)j) = parse_bool_delim(smat[i][j],",]");
        }
        else
            allocate_own(0, 0, alglib_impl::DT_BOOL);
        alglib_impl::ae_free(p);
    }
    catch(...)
    {
        alglib_impl::ae_free(p);
        throw;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x49bd0
movq -0x60(%rbp), %rax
leaq 0x1a8dd(%rip), %rcx     # 0x64c58
movq %rcx, (%rax)
leaq -0x28(%rbp), %rdi
callq 0x53160
movq -0x10(%rbp), %rdi
callq 0x476e0
movq %rax, -0x58(%rbp)
jmp 0x4a396
movq -0x58(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x4a590
jmp 0x4a3ad
leaq -0x28(%rbp), %rdi
callq 0x53180
cmpq $0x0, %rax
je 0x4a516
leaq -0x28(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x53180
movq -0x70(%rbp), %rdi
movq %rax, -0x68(%rbp)
xorl %eax, %eax
movl %eax, %esi
callq 0x531b0
movq %rax, %rdi
callq 0x530c0
movq -0x60(%rbp), %rdi
movq -0x68(%rbp), %rsi
movq %rax, %rdx
movl $0x1, %ecx
callq 0x4a170
jmp 0x4a3fd
movq $0x0, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x53180
movq %rax, %rcx
movq -0x78(%rbp), %rax
cmpq %rcx, %rax
jae 0x4a514
movq $0x0, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq -0x28(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x531b0
movq %rax, %rdi
callq 0x530c0
movq %rax, %rcx
movq -0x80(%rbp), %rax
cmpq %rcx, %rax
jae 0x4a501
movq -0x30(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x531b0
movq %rax, %rdi
movq -0x38(%rbp), %rsi
callq 0x530e0
movq (%rax), %rdi
leaq 0xdf58(%rip), %rsi      # 0x583d6
callq 0x479c0
movb %al, -0x81(%rbp)
jmp 0x4a48b
movq -0x60(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdx
callq 0x4a8c0
movq %rax, -0x90(%rbp)
jmp 0x4a4a5
movq -0x90(%rbp), %rax
movb -0x81(%rbp), %cl
andb $0x1, %cl
movb %cl, (%rax)
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x4a42e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4a561
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
movq -0x48(%rbp), %rdi
callq 0x30f0
movq -0x40(%rbp), %rdi
callq 0x3ad30
callq 0x3420
jmp 0x4a584
jmp 0x4a503
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
jmp 0x4a405
jmp 0x4a52f
movq -0x60(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x1, %ecx
movq %rdx, %rsi
callq 0x4a170
jmp 0x4a52d
jmp 0x4a52f
movq -0x40(%rbp), %rdi
callq 0x3ad30
jmp 0x4a54f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
callq 0x3460
jmp 0x4a54d
jmp 0x4a561
leaq -0x28(%rbp), %rdi
callq 0x531d0
addq $0x90, %rsp
popq %rbp
retq
leaq -0x28(%rbp), %rdi
callq 0x531d0
movq -0x60(%rbp), %rdi
callq 0x49c00
movq -0x48(%rbp), %rdi
callq 0x34c0
movq %rax, %rdi
callq 0x1d7a0
nopw %cs:(%rax,%rax)