// File: /workspace/github_c_makefile_star2_O3/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 0x36413
movq 0x50c02(%rip), %r14     # 0x86ff0
movq (%r14), %rdi
leaq 0x3a9a4(%rip), %rsi     # 0x70d9c
leaq 0x3a9bb(%rip), %rdx     # 0x70dba
movl $0x45cf, %ecx           # imm = 0x45CF
xorl %eax, %eax
callq 0x12d80
movq (%r14), %rdi
callq 0x13780
cmpq $0x0, 0x30(%rbx)
jne 0x36446
movq 0x50bcf(%rip), %r14     # 0x86ff0
movq (%r14), %rdi
leaq 0x3a971(%rip), %rsi     # 0x70d9c
leaq 0x3a988(%rip), %rdx     # 0x70dba
movl $0x45d0, %ecx           # imm = 0x45D0
xorl %eax, %eax
callq 0x12d80
movq (%r14), %rdi
callq 0x13780
cmpq $0x0, 0x38(%rbx)
jne 0x36479
movq 0x50b9c(%rip), %r14     # 0x86ff0
movq (%r14), %rdi
leaq 0x3a93e(%rip), %rsi     # 0x70d9c
leaq 0x3a955(%rip), %rdx     # 0x70dba
movl $0x45d1, %ecx           # imm = 0x45D1
xorl %eax, %eax
callq 0x12d80
movq (%r14), %rdi
callq 0x13780
cmpq $0x0, 0x18(%rbx)
jne 0x364ac
movq 0x50b69(%rip), %r14     # 0x86ff0
movq (%r14), %rdi
leaq 0x3a90b(%rip), %rsi     # 0x70d9c
leaq 0x3a922(%rip), %rdx     # 0x70dba
movl $0x45d2, %ecx           # imm = 0x45D2
xorl %eax, %eax
callq 0x12d80
movq (%r14), %rdi
callq 0x13780
cmpq $0x0, 0x20(%rbx)
jne 0x364df
movq 0x50b36(%rip), %r14     # 0x86ff0
movq (%r14), %rdi
leaq 0x3a8d8(%rip), %rsi     # 0x70d9c
leaq 0x3a8ef(%rip), %rdx     # 0x70dba
movl $0x45d3, %ecx           # imm = 0x45D3
xorl %eax, %eax
callq 0x12d80
movq (%r14), %rdi
callq 0x13780
cmpq $0x0, 0x18(%rbx)
je 0x365f1
cmpq $0x0, 0x20(%rbx)
je 0x365f1
movq 0x180(%rbx), %r14
testq %r14, %r14
je 0x36574
movq 0x48(%r14), %r15
cmpq %r14, %r15
je 0x36538
movq 0x8(%r15), %rsi
movq 0x48(%r15), %r12
movq 0x20(%rbx), %rax
testq %rsi, %rsi
je 0x36525
movq 0x10(%rbx), %rdi
callq *%rax
movq 0x20(%rbx), %rax
movq 0x10(%rbx), %rdi
movq %r15, %rsi
callq *%rax
movq %r12, %r15
cmpq %r14, %r12
jne 0x3650a
jmp 0x3653b
movq %r15, %r12
movq (%r14), %r15
cmpq $0x0, 0x8(%r12)
movq 0x20(%rbx), %rax
je 0x36558
movq 0x8(%r14), %rsi
movq 0x10(%rbx), %rdi
callq *%rax
movq 0x20(%rbx), %rax
movq 0x10(%rbx), %rdi
movq %r14, %rsi
callq *%rax
movq %r15, %r14
testq %r15, %r15
jne 0x36501
movq $0x0, 0x180(%rbx)
movq 0x178(%rbx), %rsi
testq %rsi, %rsi
je 0x3659d
movq (%rsi), %r14
movq 0x10(%rbx), %rdi
callq *0x20(%rbx)
movq %r14, %rsi
testq %r14, %r14
jne 0x36580
movq $0x0, 0x178(%rbx)
movq 0x168(%rbx), %rsi
testq %rsi, %rsi
je 0x365b0
movq 0x10(%rbx), %rdi
callq *0x20(%rbx)
movq %rbx, %r14
andq $0x3, %r14
je 0x365fd
movl $0x4, %r15d
subq %r14, %r15
movq %rbx, %rdi
xorl %esi, %esi
movq %r15, %rdx
callq 0x12b50
leaq (%rbx,%r15), %rdi
movl $0x18c, %edx            # imm = 0x18C
xorl %esi, %esi
callq 0x12b50
leaq (%rbx,%r15), %rdi
addq $0x18c, %rdi            # imm = 0x18C
xorl %esi, %esi
movq %r14, %rdx
jmp 0x36607
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movl $0x190, %edx            # imm = 0x190
movq %rbx, %rdi
xorl %esi, %esi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmp 0x12b50