// File: /workspace/github_c_makefile_star2_O0/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:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
cmpq $0x0, 0x30(%rsp)
jne 0x4bf64
movq 0x790b8(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x6545e(%rip), %rsi     # 0xb13a0
leaq 0x65475(%rip), %rdx     # 0xb13be
movl $0x45cf, %ecx           # imm = 0x45CF
movb $0x0, %al
callq 0x13ec0
movq 0x79094(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x4bf66
jmp 0x4bf68
movq 0x30(%rsp), %rax
cmpq $0x0, 0x30(%rax)
jne 0x4bfa7
movq 0x79075(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x6541b(%rip), %rsi     # 0xb13a0
leaq 0x65432(%rip), %rdx     # 0xb13be
movl $0x45d0, %ecx           # imm = 0x45D0
movb $0x0, %al
callq 0x13ec0
movq 0x79051(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x4bfa9
jmp 0x4bfab
movq 0x30(%rsp), %rax
cmpq $0x0, 0x38(%rax)
jne 0x4bfea
movq 0x79032(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x653d8(%rip), %rsi     # 0xb13a0
leaq 0x653ef(%rip), %rdx     # 0xb13be
movl $0x45d1, %ecx           # imm = 0x45D1
movb $0x0, %al
callq 0x13ec0
movq 0x7900e(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x4bfec
jmp 0x4bfee
movq 0x30(%rsp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x4c02d
movq 0x78fef(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x65395(%rip), %rsi     # 0xb13a0
leaq 0x653ac(%rip), %rdx     # 0xb13be
movl $0x45d2, %ecx           # imm = 0x45D2
movb $0x0, %al
callq 0x13ec0
movq 0x78fcb(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x4c02f
jmp 0x4c031
movq 0x30(%rsp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x4c070
movq 0x78fac(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x65352(%rip), %rsi     # 0xb13a0
leaq 0x65369(%rip), %rdx     # 0xb13be
movl $0x45d3, %ecx           # imm = 0x45D3
movb $0x0, %al
callq 0x13ec0
movq 0x78f88(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x4c072
cmpq $0x0, 0x30(%rsp)
je 0x4c092
movq 0x30(%rsp), %rax
cmpq $0x0, 0x18(%rax)
je 0x4c092
movq 0x30(%rsp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x4c097
jmp 0x4c251
movq 0x30(%rsp), %rax
cmpq $0x0, 0x180(%rax)
je 0x4c1ab
movq 0x30(%rsp), %rax
movq 0x180(%rax), %rax
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
je 0x4c19b
movq 0x28(%rsp), %rax
movq 0x48(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
cmpq 0x28(%rsp), %rax
je 0x4c13d
movq 0x18(%rsp), %rax
movq 0x48(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x4c118
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x18(%rsp), %rdx
movq 0x8(%rdx), %rsi
movq 0x10(%rcx), %rdi
callq *%rax
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x18(%rsp), %rsi
movq 0x10(%rcx), %rdi
callq *%rax
movq 0x10(%rsp), %rax
movq %rax, 0x18(%rsp)
jmp 0x4c0d5
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x18(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x4c173
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x28(%rsp), %rdx
movq 0x8(%rdx), %rsi
movq 0x10(%rcx), %rdi
callq *%rax
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x28(%rsp), %rsi
movq 0x10(%rcx), %rdi
callq *%rax
movq 0x20(%rsp), %rax
movq %rax, 0x28(%rsp)
jmp 0x4c0bb
movq 0x30(%rsp), %rax
movq $0x0, 0x180(%rax)
movq 0x30(%rsp), %rax
cmpq $0x0, 0x178(%rax)
je 0x4c213
movq 0x30(%rsp), %rax
movq 0x178(%rax), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x4c203
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rax, (%rsp)
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x8(%rsp), %rsi
movq 0x10(%rcx), %rdi
callq *%rax
movq (%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x4c1cb
movq 0x30(%rsp), %rax
movq $0x0, 0x178(%rax)
movq 0x30(%rsp), %rax
cmpq $0x0, 0x168(%rax)
je 0x4c242
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x30(%rsp), %rcx
movq 0x30(%rsp), %rdx
movq 0x168(%rdx), %rsi
movq 0x10(%rcx), %rdi
callq *%rax
movq 0x30(%rsp), %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x2f0e0
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)