// File: /workspace/github_c_makefile_star2_O2/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_font_atlas_add_compressed_base85
NK_API struct nk_font*
nk_font_atlas_add_compressed_base85(struct nk_font_atlas *atlas,
    const char *data_base85, float height, const struct nk_font_config *config)
{
    int compressed_size;
    void *compressed_data;
    struct nk_font *font;

    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(data_base85);
    if (!atlas || !data_base85 || !atlas->temporary.alloc || !atlas->temporary.free ||
        !atlas->permanent.alloc || !atlas->permanent.free)
        return 0;

    compressed_size = (((int)nk_strlen(data_base85) + 4) / 5) * 4;
    compressed_data = atlas->temporary.alloc(atlas->temporary.userdata,0, (nk_size)compressed_size);
    NK_ASSERT(compressed_data);
    if (!compressed_data) return 0;
    nk_decode_85((unsigned char*)compressed_data, (const unsigned char*)data_base85);
    font = nk_font_atlas_add_compressed(atlas, compressed_data,
                    (nk_size)compressed_size, height, config);
    atlas->temporary.free(atlas->temporary.userdata, compressed_data);
    return font;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rdx, %r14
movss %xmm0, 0xc(%rsp)
movq %rsi, %r15
movq %rdi, %rbx
testq %rdi, %rdi
jne 0x32105
movq 0x52f12(%rip), %r12     # 0x84ff0
movq (%r12), %rdi
leaq 0x37c23(%rip), %rsi     # 0x69d0c
leaq 0x37c3a(%rip), %rdx     # 0x69d2a
movl $0x44f2, %ecx           # imm = 0x44F2
xorl %eax, %eax
callq 0x12ea0
movq (%r12), %rdi
callq 0x13960
cmpq $0x0, 0x30(%rbx)
jne 0x3213a
movq 0x52edd(%rip), %r12     # 0x84ff0
movq (%r12), %rdi
leaq 0x37bee(%rip), %rsi     # 0x69d0c
leaq 0x37c05(%rip), %rdx     # 0x69d2a
movl $0x44f3, %ecx           # imm = 0x44F3
xorl %eax, %eax
callq 0x12ea0
movq (%r12), %rdi
callq 0x13960
cmpq $0x0, 0x38(%rbx)
jne 0x3216f
movq 0x52ea8(%rip), %r12     # 0x84ff0
movq (%r12), %rdi
leaq 0x37bb9(%rip), %rsi     # 0x69d0c
leaq 0x37bd0(%rip), %rdx     # 0x69d2a
movl $0x44f4, %ecx           # imm = 0x44F4
xorl %eax, %eax
callq 0x12ea0
movq (%r12), %rdi
callq 0x13960
cmpq $0x0, 0x18(%rbx)
jne 0x321a4
movq 0x52e73(%rip), %r12     # 0x84ff0
movq (%r12), %rdi
leaq 0x37b84(%rip), %rsi     # 0x69d0c
leaq 0x37b9b(%rip), %rdx     # 0x69d2a
movl $0x44f5, %ecx           # imm = 0x44F5
xorl %eax, %eax
callq 0x12ea0
movq (%r12), %rdi
callq 0x13960
cmpq $0x0, 0x20(%rbx)
jne 0x321d9
movq 0x52e3e(%rip), %r12     # 0x84ff0
movq (%r12), %rdi
leaq 0x37b4f(%rip), %rsi     # 0x69d0c
leaq 0x37b66(%rip), %rdx     # 0x69d2a
movl $0x44f6, %ecx           # imm = 0x44F6
xorl %eax, %eax
callq 0x12ea0
movq (%r12), %rdi
callq 0x13960
testq %r15, %r15
je 0x322cc
cmpq $0x0, 0x30(%rbx)
je 0x322f8
cmpq $0x0, 0x38(%rbx)
je 0x322f8
cmpq $0x0, 0x18(%rbx)
je 0x322f8
cmpq $0x0, 0x20(%rbx)
je 0x322f8
movq %r15, %rdi
callq 0x13040
addl $0x4, %eax
pushq $0x5
popq %rcx
cltd
idivl %ecx
shll $0x2, %eax
movslq %eax, %r12
movq 0x28(%rbx), %rdi
xorl %esi, %esi
movq %r12, %rdx
callq *0x30(%rbx)
testq %rax, %rax
je 0x32331
movq %rax, %r13
movsbl (%r15), %edx
testl %edx, %edx
je 0x32308
xorl %ecx, %ecx
cmpb $0x5c, %dl
setge %cl
xorl $-0x23, %ecx
addl %edx, %ecx
movsbl 0x1(%r15), %esi
xorl %edx, %edx
cmpl $0x5c, %esi
setge %dl
xorl $-0x23, %edx
addl %esi, %edx
movsbl 0x2(%r15), %edi
xorl %esi, %esi
cmpl $0x5c, %edi
setge %sil
xorl $-0x23, %esi
addl %edi, %esi
movsbl 0x3(%r15), %edi
xorl %r8d, %r8d
cmpl $0x5c, %edi
setge %r8b
xorl $-0x23, %r8d
addl %edi, %r8d
movsbl 0x4(%r15), %edi
xorl %r9d, %r9d
cmpl $0x5c, %edi
setge %r9b
xorl $-0x23, %r9d
addl %edi, %r9d
imull $0x55, %r9d, %edi
addl %r8d, %edi
imull $0x55, %edi, %edi
addl %esi, %edi
imull $0x55, %edi, %esi
addl %edx, %esi
imull $0x55, %esi, %edx
addl %ecx, %edx
movl %edx, (%rax)
addq $0x5, %r15
addq $0x4, %rax
jmp 0x3223d
movq 0x52d1d(%rip), %rbx     # 0x84ff0
movq (%rbx), %rdi
leaq 0x37a2f(%rip), %rsi     # 0x69d0c
leaq 0x37a46(%rip), %rdx     # 0x69d2a
movl $0x44f8, %ecx           # imm = 0x44F8
xorl %eax, %eax
callq 0x12ea0
movq (%rbx), %rdi
callq 0x13960
xorl %eax, %eax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movss 0xc(%rsp), %xmm0
movq %r14, %rcx
callq 0x13290
movq %rax, %r14
movq 0x28(%rbx), %rdi
movq %r13, %rsi
callq *0x38(%rbx)
movq %r14, %rax
jmp 0x322fa
movq 0x52cb8(%rip), %rbx     # 0x84ff0
movq (%rbx), %rdi
leaq 0x379ca(%rip), %rsi     # 0x69d0c
leaq 0x379e1(%rip), %rdx     # 0x69d2a
movl $0x44ff, %ecx           # imm = 0x44FF
jmp 0x322e9