// File: /workspace/github_c_makefile_star2_O2/stetre[P]moonglfw/src/cur.c
// Function: moonglfw_cur_free
void cur_free(cur_t* cur)
    {
    if(cur_search(cur->id) == cur)
        {
        /* release callback references */
        //CALLBACK_UNREF(cur->Zzz);
        cur_remove(cur);
        }
    id_free(cur->id);
    free(cur);
    }

// Assembly:
pushq %rbx
movq %rdi, %rbx
movl 0x20(%rdi), %edi
callq 0x5160
cmpq %rbx, %rax
jne 0x7d59
movq (%rbx), %rax
movq 0x8(%rbx), %rdi
testq %rax, %rax
je 0x7a48
testq %rdi, %rdi
je 0x7a59
movq %rdi, %rsi
movq (%rdi), %rdi
testq %rdi, %rdi
jne 0x79b3
movq 0x8(%rsi), %rax
movq 0x10(%rsi), %rcx
movl 0x18(%rsi), %edx
testq %rax, %rax
je 0x79d2
movq %rcx, 0x10(%rax)
leaq 0x149ff(%rip), %rdi     # 0x1c3d8
movq %rdi, %r8
testq %rcx, %rcx
je 0x79ef
xorl %r8d, %r8d
cmpq %rsi, (%rcx)
setne %r8b
leaq (%rcx,%r8,8), %r8
movq %rax, (%r8)
cmpq %rbx, 0x10(%rsi)
cmoveq %rsi, %rcx
movups (%rbx), %xmm0
movups 0x10(%rbx), %xmm1
movups %xmm1, 0x10(%rsi)
movups %xmm0, (%rsi)
movq 0x10(%rbx), %r8
testq %r8, %r8
je 0x7a1e
xorl %edi, %edi
cmpq %rbx, (%r8)
setne %dil
leaq (%r8,%rdi,8), %rdi
movq %rsi, (%rdi)
movq (%rbx), %rdi
movq %rsi, 0x10(%rdi)
movq 0x8(%rbx), %rdi
testq %rdi, %rdi
je 0x7a35
movq %rsi, 0x10(%rdi)
testq %rcx, %rcx
je 0x7a66
movq %rcx, %rsi
movq 0x10(%rsi), %rsi
testq %rsi, %rsi
jne 0x7a3d
jmp 0x7a8a
movq 0x10(%rbx), %rcx
movl 0x18(%rbx), %edx
testq %rdi, %rdi
je 0x7a6a
movq %rdi, %rax
jmp 0x7a60
movq 0x10(%rbx), %rcx
movl 0x18(%rbx), %edx
movq %rcx, 0x10(%rax)
jmp 0x7a6c
xorl %ecx, %ecx
jmp 0x7a8a
xorl %eax, %eax
testq %rcx, %rcx
je 0x7a80
xorl %esi, %esi
cmpq %rbx, (%rcx)
setne %sil
leaq (%rcx,%rsi,8), %rsi
jmp 0x7a87
leaq 0x14951(%rip), %rsi     # 0x1c3d8
movq %rax, (%rsi)
testl %edx, %edx
jne 0x7d59
jmp 0x7aee
movq 0x8(%rcx), %rdx
testq %rdx, %rdx
je 0x7ae3
cmpl $0x0, 0x18(%rdx)
je 0x7ae3
jmp 0x7be9
movq %rcx, 0x14929(%rip)     # 0x1c3d8
jmp 0x7ab4
movq %rcx, (%rsi)
movq %rax, (%rcx)
movq %rcx, 0x10(%rax)
movq %rdx, %rcx
movq (%rcx), %rdx
testq %rdx, %rdx
je 0x7ad0
cmpl $0x0, 0x18(%rdx)
jne 0x7c2f
movq 0x8(%rcx), %rsi
testq %rsi, %rsi
je 0x7ae3
cmpl $0x0, 0x18(%rsi)
jne 0x7cf9
movl $0x1, 0x18(%rcx)
movq 0x10(%rax), %rcx
movq %rax, %rdx
movq %rcx, %rax
testq %rdx, %rdx
je 0x7b11
cmpl $0x0, 0x18(%rdx)
jne 0x7d55
cmpq 0x148ce(%rip), %rdx     # 0x1c3d8
jne 0x7b1f
jmp 0x7d55
cmpq $0x0, 0x148bf(%rip)     # 0x1c3d8
je 0x7d59
movq (%rax), %rcx
cmpq %rdx, %rcx
je 0x7b64
cmpl $0x1, 0x18(%rcx)
jne 0x7bce
andl $0x0, 0x18(%rcx)
movl $0x1, 0x18(%rax)
movq 0x8(%rcx), %rdx
movq %rdx, (%rax)
testq %rdx, %rdx
je 0x7b4c
movq %rax, 0x10(%rdx)
movq 0x10(%rax), %rsi
movq %rsi, 0x10(%rcx)
testq %rsi, %rsi
je 0x7bb4
cmpq (%rsi), %rax
je 0x7bbd
movq %rcx, 0x8(%rsi)
jmp 0x7bc3
movq 0x8(%rax), %rcx
cmpl $0x1, 0x18(%rcx)
jne 0x7abe
andl $0x0, 0x18(%rcx)
movl $0x1, 0x18(%rax)
movq (%rcx), %rdx
movq %rdx, 0x8(%rax)
testq %rdx, %rdx
je 0x7b8d
movq %rax, 0x10(%rdx)
movq 0x10(%rax), %rsi
movq %rsi, 0x10(%rcx)
testq %rsi, %rsi
je 0x7aa8
cmpq (%rsi), %rax
je 0x7ab1
movq %rcx, 0x8(%rsi)
movq 0x8(%rax), %rdx
jmp 0x7ab4
movq %rcx, 0x1481d(%rip)     # 0x1c3d8
jmp 0x7bc3
movq %rcx, (%rsi)
movq (%rax), %rdx
movq %rax, 0x8(%rcx)
movq %rcx, 0x10(%rax)
movq %rdx, %rcx
movq (%rcx), %rsi
testq %rsi, %rsi
je 0x7a94
cmpl $0x0, 0x18(%rsi)
je 0x7a94
jmp 0x7c90
testq %rsi, %rsi
je 0x7bf8
cmpl $0x0, 0x18(%rsi)
jne 0x7c90
andl $0x0, 0x18(%rdx)
movl $0x1, 0x18(%rcx)
movq (%rdx), %rsi
movq %rsi, 0x8(%rcx)
testq %rsi, %rsi
je 0x7c13
movq %rcx, 0x10(%rsi)
movq 0x10(%rcx), %rsi
movq %rsi, 0x10(%rdx)
testq %rsi, %rsi
je 0x7c79
xorl %edi, %edi
cmpq (%rsi), %rcx
setne %dil
leaq (%rsi,%rdi,8), %rsi
jmp 0x7c80
movq 0x8(%rcx), %rsi
testq %rsi, %rsi
je 0x7c42
cmpl $0x0, 0x18(%rsi)
jne 0x7cf9
andl $0x0, 0x18(%rdx)
movl $0x1, 0x18(%rcx)
movq 0x8(%rdx), %rsi
movq %rsi, (%rcx)
testq %rsi, %rsi
je 0x7c5d
movq %rcx, 0x10(%rsi)
movq 0x10(%rcx), %rsi
movq %rsi, 0x10(%rdx)
testq %rsi, %rsi
je 0x7cdf
xorl %edi, %edi
cmpq (%rsi), %rcx
setne %dil
leaq (%rsi,%rdi,8), %rsi
jmp 0x7ce6
leaq 0x14758(%rip), %rsi     # 0x1c3d8
movq %rdx, (%rsi)
movq %rcx, (%rdx)
movq %rdx, 0x10(%rcx)
movq (%rax), %rcx
movq (%rcx), %rsi
movl 0x18(%rax), %edx
movl %edx, 0x18(%rcx)
andl $0x0, 0x18(%rax)
testq %rsi, %rsi
je 0x7ca3
andl $0x0, 0x18(%rsi)
movq 0x8(%rcx), %rdx
movq %rdx, (%rax)
testq %rdx, %rdx
je 0x7cb3
movq %rax, 0x10(%rdx)
movq 0x10(%rax), %rdx
movq %rdx, 0x10(%rcx)
testq %rdx, %rdx
je 0x7ccf
xorl %esi, %esi
cmpq (%rdx), %rax
setne %sil
leaq (%rdx,%rsi,8), %rdx
jmp 0x7cd6
leaq 0x14702(%rip), %rdx     # 0x1c3d8
movq %rcx, (%rdx)
movq %rax, 0x8(%rcx)
jmp 0x7d45
leaq 0x146f2(%rip), %rsi     # 0x1c3d8
movq %rdx, (%rsi)
movq %rcx, 0x8(%rdx)
movq %rdx, 0x10(%rcx)
movq 0x8(%rax), %rcx
movq 0x8(%rcx), %rsi
movl 0x18(%rax), %edx
movl %edx, 0x18(%rcx)
andl $0x0, 0x18(%rax)
testq %rsi, %rsi
je 0x7d0c
andl $0x0, 0x18(%rsi)
movq (%rcx), %rdx
movq %rdx, 0x8(%rax)
testq %rdx, %rdx
je 0x7d1c
movq %rax, 0x10(%rdx)
movq 0x10(%rax), %rdx
movq %rdx, 0x10(%rcx)
testq %rdx, %rdx
je 0x7d38
xorl %esi, %esi
cmpq (%rdx), %rax
setne %sil
leaq (%rdx,%rsi,8), %rdx
jmp 0x7d3f
leaq 0x14699(%rip), %rdx     # 0x1c3d8
movq %rcx, (%rdx)
movq %rax, (%rcx)
movq %rcx, 0x10(%rax)
movq 0x14688(%rip), %rdx     # 0x1c3d8
testq %rdx, %rdx
je 0x7d59
andl $0x0, 0x18(%rdx)
movl 0x20(%rbx), %edi
callq 0x55c0
movq %rbx, %rdi
popq %rbx
jmp 0x50b0