// File: /workspace/github_c_makefile_star2_O2/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_font_atlas_clear
NK_API void
nk_font_atlas_clear(struct nk_font_atlas *atlas)
{
    NK_ASSERT(atlas);
    NK_ASSERT(atlas->temporary.alloc);
    NK_ASSERT(atlas->temporary.free);
    NK_ASSERT(atlas->permanent.alloc);
    NK_ASSERT(atlas->permanent.free);
    if (!atlas || !atlas->permanent.alloc || !atlas->permanent.free) return;

    if (atlas->config) {
        struct nk_font_config *iter, *next;
        for (iter = atlas->config; iter; iter = next) {
            struct nk_font_config *i, *n;
            for (i = iter->n; i != iter; i = n) {
                n = i->n;
                if (i->ttf_blob)
                    atlas->permanent.free(atlas->permanent.userdata, i->ttf_blob);
                atlas->permanent.free(atlas->permanent.userdata, i);
            }
            next = iter->next;
            if (i->ttf_blob)
                atlas->permanent.free(atlas->permanent.userdata, iter->ttf_blob);
            atlas->permanent.free(atlas->permanent.userdata, iter);
        }
        atlas->config = 0;
    }
    if (atlas->fonts) {
        struct nk_font *iter, *next;
        for (iter = atlas->fonts; iter; iter = next) {
            next = iter->next;
            atlas->permanent.free(atlas->permanent.userdata, iter);
        }
        atlas->fonts = 0;
    }
    if (atlas->glyphs)
        atlas->permanent.free(atlas->permanent.userdata, atlas->glyphs);
    nk_zero_struct(*atlas);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
testq %rdi, %rdi
jne 0x33bb4
movq 0x51461(%rip), %r14     # 0x84ff0
movq (%r14), %rdi
leaq 0x36173(%rip), %rsi     # 0x69d0c
leaq 0x3618a(%rip), %rdx     # 0x69d2a
movl $0x45cf, %ecx           # imm = 0x45CF
xorl %eax, %eax
callq 0x12ea0
movq (%r14), %rdi
callq 0x13960
cmpq $0x0, 0x30(%rbx)
jne 0x33be7
movq 0x5142e(%rip), %r14     # 0x84ff0
movq (%r14), %rdi
leaq 0x36140(%rip), %rsi     # 0x69d0c
leaq 0x36157(%rip), %rdx     # 0x69d2a
movl $0x45d0, %ecx           # imm = 0x45D0
xorl %eax, %eax
callq 0x12ea0
movq (%r14), %rdi
callq 0x13960
cmpq $0x0, 0x38(%rbx)
jne 0x33c1a
movq 0x513fb(%rip), %r14     # 0x84ff0
movq (%r14), %rdi
leaq 0x3610d(%rip), %rsi     # 0x69d0c
leaq 0x36124(%rip), %rdx     # 0x69d2a
movl $0x45d1, %ecx           # imm = 0x45D1
xorl %eax, %eax
callq 0x12ea0
movq (%r14), %rdi
callq 0x13960
cmpq $0x0, 0x18(%rbx)
jne 0x33c4d
movq 0x513c8(%rip), %r14     # 0x84ff0
movq (%r14), %rdi
leaq 0x360da(%rip), %rsi     # 0x69d0c
leaq 0x360f1(%rip), %rdx     # 0x69d2a
movl $0x45d2, %ecx           # imm = 0x45D2
xorl %eax, %eax
callq 0x12ea0
movq (%r14), %rdi
callq 0x13960
cmpq $0x0, 0x20(%rbx)
jne 0x33c80
movq 0x51395(%rip), %r14     # 0x84ff0
movq (%r14), %rdi
leaq 0x360a7(%rip), %rsi     # 0x69d0c
leaq 0x360be(%rip), %rdx     # 0x69d2a
movl $0x45d3, %ecx           # imm = 0x45D3
xorl %eax, %eax
callq 0x12ea0
movq (%r14), %rdi
callq 0x13960
cmpq $0x0, 0x18(%rbx)
je 0x33cfb
cmpq $0x0, 0x20(%rbx)
je 0x33cfb
movq 0x180(%rbx), %r14
testq %r14, %r14
je 0x33d0f
testq %r14, %r14
je 0x33d07
movq 0x48(%r14), %r15
cmpq %r14, %r15
je 0x33cd1
movq 0x8(%r15), %rsi
movq 0x48(%r15), %r12
movq 0x20(%rbx), %rax
testq %rsi, %rsi
je 0x33cc3
movq 0x10(%rbx), %rdi
callq *%rax
movq 0x20(%rbx), %rax
movq 0x10(%rbx), %rdi
movq %r15, %rsi
callq *%rax
movq %r12, %r15
jmp 0x33ca3
movq (%r14), %r12
cmpq $0x0, 0x8(%r15)
movq 0x20(%rbx), %rax
je 0x33ced
movq 0x8(%r14), %rsi
movq 0x10(%rbx), %rdi
callq *%rax
movq 0x20(%rbx), %rax
movq 0x10(%rbx), %rdi
movq %r14, %rsi
callq *%rax
movq %r12, %r14
jmp 0x33c9a
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
andq $0x0, 0x180(%rbx)
movq 0x178(%rbx), %rsi
testq %rsi, %rsi
je 0x33d37
testq %rsi, %rsi
je 0x33d2f
movq (%rsi), %r14
movq 0x10(%rbx), %rdi
callq *0x20(%rbx)
movq %r14, %rsi
jmp 0x33d1b
andq $0x0, 0x178(%rbx)
movq 0x168(%rbx), %rsi
testq %rsi, %rsi
je 0x33d4a
movq 0x10(%rbx), %rdi
callq *0x20(%rbx)
movl $0x190, %esi            # imm = 0x190
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x23ed0