// File: /workspace/github_c_makefile_star2_O0/heltilda[P]cicada/bytecd.c
// Function: remove()
void _remove()
{
    ccInt loopMember;
    
    
        // Get the path to the condemned.
        // Unlike masterInsert(), we don't read the indices separately -- we just step into whatever we want deleted.
    
    canAddMembers = ccFalse;
    callDefineFunction();
    if (errCode != passed)  return;
    
    if ((GL_Object.type != var_type) || (searchView.windowPtr == NULL))
        {  setError(not_a_variable_err, pcCodePtr-1);  return;  }
    if ((searchView.windowPtr != NULL) && (searchView.width != searchView.windowPtr->variable_ptr->instances))
        {  setError(incomplete_variable_err, pcCodePtr-1);  return;  }
    
    if (GL_Path.stemMember == NULL)  {  setError(undefined_member_err, pcCodePtr-1);  return;  }
    
    
        // case 1:  remove a member
    
    if (searchView.windowPtr->variable_ptr->type == composite_type)   {    // we don't take the last step, so SC points to the stem window.
    for (loopMember = 1; loopMember <= GL_Path.indices; loopMember++)  {
//        if (GL_Path.indices != GL_Path.stemMember->indices)  {  setError(incomplete_member_err, pcCodePtr-1);  return;  }
        removeMember(searchView.windowPtr->variable_ptr, GL_Path.stemMemberNumber);    }}
    
    
        // case 2:  delete indices
    
    else if (searchView.windowPtr->variable_ptr->type == array_type)  {
        resizeIndices(GL_Path.stemMember, GL_Path.stemView.width, GL_Path.offset, -GL_Path.indices);  }
    
    GL_Path.stemMember = NULL;          // clean our knives & go
    searchView.windowPtr = NULL;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movb $0x0, 0x13c81(%rip)     # 0x2c820
callq 0x16730
cmpl $0x0, 0x13bbd(%rip)     # 0x2c768
je 0x18bb2
jmp 0x18cd5
cmpl $-0x1, 0x13c6f(%rip)    # 0x2c828
jne 0x18bc5
cmpq $0x0, 0x13ce5(%rip)     # 0x2c8a8
jne 0x18bdf
movq 0x13c3c(%rip), %rsi     # 0x2c808
addq $-0x4, %rsi
movl $0x22, %edi
callq 0xf740
jmp 0x18cd5
cmpq $0x0, 0x13cc1(%rip)     # 0x2c8a8
je 0x18c1c
movl 0x13cc5(%rip), %eax     # 0x2c8b4
movq 0x13cb2(%rip), %rcx     # 0x2c8a8
movq 0x10(%rcx), %rcx
cmpl 0xf0(%rcx), %eax
je 0x18c1c
movq 0x13bff(%rip), %rsi     # 0x2c808
addq $-0x4, %rsi
movl $0x1d, %edi
callq 0xf740
jmp 0x18cd5
cmpq $0x0, 0x13c34(%rip)     # 0x2c858
jne 0x18c40
movq 0x13bdb(%rip), %rsi     # 0x2c808
addq $-0x4, %rsi
movl $0x19, %edi
callq 0xf740
jmp 0x18cd5
movq 0x13c61(%rip), %rax     # 0x2c8a8
movq 0x10(%rax), %rax
cmpl $0x5, 0xc0(%rax)
jne 0x18c89
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
cmpl 0x13c04(%rip), %eax     # 0x2c868
jg 0x18c87
movq 0x13c3b(%rip), %rax     # 0x2c8a8
movq 0x10(%rax), %rdi
movl 0x13be9(%rip), %esi     # 0x2c860
callq 0x136e0
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x18c5b
jmp 0x18cbf
movq 0x13c18(%rip), %rax     # 0x2c8a8
movq 0x10(%rax), %rax
cmpl $0x6, 0xc0(%rax)
jne 0x18cbd
movq 0x13bb4(%rip), %rdi     # 0x2c858
movl 0x13bd2(%rip), %esi     # 0x2c87c
movl 0x13bb4(%rip), %edx     # 0x2c864
xorl %ecx, %ecx
subl 0x13bb0(%rip), %ecx     # 0x2c868
callq 0x18a10
jmp 0x18cbf
movq $0x0, 0x13b8e(%rip) # 0x2c858
movq $0x0, 0x13bd3(%rip) # 0x2c8a8
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)