// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_font_atlas_add_compressed
NK_API struct nk_font*
nk_font_atlas_add_compressed(struct nk_font_atlas *atlas,
    void *compressed_data, nk_size compressed_size, float height,
    const struct nk_font_config *config)
{
    unsigned int decompressed_size;
    void *decompressed_data;
    struct nk_font_config cfg;

    NK_ASSERT(atlas);
    NK_ASSERT(atlas->temporary.alloc);
    NK_ASSERT(atlas->temporary.free);
    NK_ASSERT(atlas->permanent.alloc);
    NK_ASSERT(atlas->permanent.free);

    NK_ASSERT(compressed_data);
    NK_ASSERT(compressed_size);
    if (!atlas || !compressed_data || !atlas->temporary.alloc || !atlas->temporary.free ||
        !atlas->permanent.alloc || !atlas->permanent.free)
        return 0;

    decompressed_size = nk_decompress_length((unsigned char*)compressed_data);
    decompressed_data = atlas->permanent.alloc(atlas->permanent.userdata,0,decompressed_size);
    NK_ASSERT(decompressed_data);
    if (!decompressed_data) return 0;
    nk_decompress((unsigned char*)decompressed_data, (unsigned char*)compressed_data,
        (unsigned int)compressed_size);

    cfg = (config) ? *config: nk_font_config(height);
    cfg.ttf_blob = decompressed_data;
    cfg.ttf_size = decompressed_size;
    cfg.size = height;
    cfg.ttf_data_owned_by_atlas = 1;
    return nk_font_atlas_add(atlas, &cfg);
}

// Assembly:
subq $0xf8, %rsp
movq %rdi, 0xe8(%rsp)
movq %rsi, 0xe0(%rsp)
movq %rdx, 0xd8(%rsp)
movss %xmm0, 0xd4(%rsp)
movq %rcx, 0xc8(%rsp)
cmpq $0x0, 0xe8(%rsp)
jne 0x4843e
movq 0x7cbde(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x68f84(%rip), %rsi     # 0xb13a0
leaq 0x68f9b(%rip), %rdx     # 0xb13be
movl $0x44d0, %ecx           # imm = 0x44D0
movb $0x0, %al
callq 0x13ec0
movq 0x7cbba(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x48440
jmp 0x48442
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x30(%rax)
jne 0x48484
movq 0x7cb98(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x68f3e(%rip), %rsi     # 0xb13a0
leaq 0x68f55(%rip), %rdx     # 0xb13be
movl $0x44d1, %ecx           # imm = 0x44D1
movb $0x0, %al
callq 0x13ec0
movq 0x7cb74(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x48486
jmp 0x48488
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x38(%rax)
jne 0x484ca
movq 0x7cb52(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x68ef8(%rip), %rsi     # 0xb13a0
leaq 0x68f0f(%rip), %rdx     # 0xb13be
movl $0x44d2, %ecx           # imm = 0x44D2
movb $0x0, %al
callq 0x13ec0
movq 0x7cb2e(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x484cc
jmp 0x484ce
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x48510
movq 0x7cb0c(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x68eb2(%rip), %rsi     # 0xb13a0
leaq 0x68ec9(%rip), %rdx     # 0xb13be
movl $0x44d3, %ecx           # imm = 0x44D3
movb $0x0, %al
callq 0x13ec0
movq 0x7cae8(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x48512
jmp 0x48514
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x48556
movq 0x7cac6(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x68e6c(%rip), %rsi     # 0xb13a0
leaq 0x68e83(%rip), %rdx     # 0xb13be
movl $0x44d4, %ecx           # imm = 0x44D4
movb $0x0, %al
callq 0x13ec0
movq 0x7caa2(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x48558
jmp 0x4855a
cmpq $0x0, 0xe0(%rsp)
jne 0x48598
movq 0x7ca84(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x68e2a(%rip), %rsi     # 0xb13a0
leaq 0x68e41(%rip), %rdx     # 0xb13be
movl $0x44d6, %ecx           # imm = 0x44D6
movb $0x0, %al
callq 0x13ec0
movq 0x7ca60(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x4859a
jmp 0x4859c
cmpq $0x0, 0xd8(%rsp)
jne 0x485da
movq 0x7ca42(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x68de8(%rip), %rsi     # 0xb13a0
leaq 0x68dff(%rip), %rdx     # 0xb13be
movl $0x44d7, %ecx           # imm = 0x44D7
movb $0x0, %al
callq 0x13ec0
movq 0x7ca1e(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x485dc
cmpq $0x0, 0xe8(%rsp)
je 0x4862e
cmpq $0x0, 0xe0(%rsp)
je 0x4862e
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x30(%rax)
je 0x4862e
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x38(%rax)
je 0x4862e
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x18(%rax)
je 0x4862e
movq 0xe8(%rsp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x4863f
movq $0x0, 0xf0(%rsp)
jmp 0x48790
movq 0xe0(%rsp), %rdi
callq 0x487a0
movl %eax, 0xc4(%rsp)
movq 0xe8(%rsp), %rax
movq 0x18(%rax), %rax
movq 0xe8(%rsp), %rcx
movl 0xc4(%rsp), %edx
movq 0x10(%rcx), %rdi
xorl %ecx, %ecx
movl %ecx, %esi
callq *%rax
movq %rax, 0xb8(%rsp)
cmpq $0x0, 0xb8(%rsp)
jne 0x486be
movq 0x7c95e(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x68d04(%rip), %rsi     # 0xb13a0
leaq 0x68d1b(%rip), %rdx     # 0xb13be
movl $0x44de, %ecx           # imm = 0x44DE
movb $0x0, %al
callq 0x13ec0
movq 0x7c93a(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x486c0
cmpq $0x0, 0xb8(%rsp)
jne 0x486dc
movq $0x0, 0xf0(%rsp)
jmp 0x48790
movq 0xb8(%rsp), %rdi
movq 0xe0(%rsp), %rsi
movq 0xd8(%rsp), %rax
movl %eax, %edx
callq 0x487e0
cmpq $0x0, 0xc8(%rsp)
je 0x4871f
movq 0xc8(%rsp), %rsi
leaq 0x60(%rsp), %rdi
movl $0x58, %edx
callq 0x14160
jmp 0x48746
movss 0xd4(%rsp), %xmm0
leaq 0x8(%rsp), %rdi
callq 0x135a0
leaq 0x60(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movl $0x58, %edx
callq 0x14160
movq 0xb8(%rsp), %rax
movq %rax, 0x68(%rsp)
movl 0xc4(%rsp), %eax
movq %rax, 0x70(%rsp)
movss 0xd4(%rsp), %xmm0
movss %xmm0, 0x80(%rsp)
movb $0x1, 0x78(%rsp)
movq 0xe8(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x14c20
movq %rax, 0xf0(%rsp)
movq 0xf0(%rsp), %rax
addq $0xf8, %rsp
retq