// File: mouda[P]LTE_random_access-simulate/ap.cpp
// Function: alglib::integer_2d_array::integer_2d_array(char const*)
alglib::integer_2d_array::integer_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_INT);
            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_int_delim(smat[i][j],",]");
        }
        else
            allocate_own(0, 0, alglib_impl::DT_INT);
        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 0x19f2d(%rip), %rcx     # 0x64c78
movq %rcx, (%rax)
leaq -0x28(%rbp), %rdi
callq 0x53160
movq -0x10(%rbp), %rdi
callq 0x476e0
movq %rax, -0x58(%rbp)
jmp 0x4ad66
movq -0x58(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x4a590
jmp 0x4ad7d
leaq -0x28(%rbp), %rdi
callq 0x53180
cmpq $0x0, %rax
je 0x4aee6
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 $0x2, %ecx
callq 0x4a170
jmp 0x4adcd
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 0x4aee4
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 0x4aed1
movq -0x30(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x531b0
movq %rax, %rdi
movq -0x38(%rbp), %rsi
callq 0x530e0
movq (%rax), %rdi
leaq 0xd588(%rip), %rsi      # 0x583d6
callq 0x48260
movq %rax, -0x88(%rbp)
jmp 0x4ae5c
movq -0x60(%rbp), %rdi
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdx
callq 0x4af60
movq %rax, -0x90(%rbp)
jmp 0x4ae76
movq -0x90(%rbp), %rax
movq -0x88(%rbp), %rcx
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x4adfe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x4af31
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 0x4af54
jmp 0x4aed3
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
jmp 0x4add5
jmp 0x4aeff
movq -0x60(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x2, %ecx
movq %rdx, %rsi
callq 0x4a170
jmp 0x4aefd
jmp 0x4aeff
movq -0x40(%rbp), %rdi
callq 0x3ad30
jmp 0x4af1f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
callq 0x3460
jmp 0x4af1d
jmp 0x4af31
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)