// File: /workspace/github_c_makefile_star2_O3/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 0x3484e
movq 0x527c9(%rip), %r12     # 0x86ff0
movq (%r12), %rdi
leaq 0x3c56a(%rip), %rsi     # 0x70d9c
leaq 0x3c581(%rip), %rdx     # 0x70dba
movl $0x44f2, %ecx           # imm = 0x44F2
xorl %eax, %eax
callq 0x12d80
movq (%r12), %rdi
callq 0x13780
cmpq $0x0, 0x30(%rbx)
jne 0x34883
movq 0x52794(%rip), %r12     # 0x86ff0
movq (%r12), %rdi
leaq 0x3c535(%rip), %rsi     # 0x70d9c
leaq 0x3c54c(%rip), %rdx     # 0x70dba
movl $0x44f3, %ecx           # imm = 0x44F3
xorl %eax, %eax
callq 0x12d80
movq (%r12), %rdi
callq 0x13780
cmpq $0x0, 0x38(%rbx)
jne 0x348b8
movq 0x5275f(%rip), %r12     # 0x86ff0
movq (%r12), %rdi
leaq 0x3c500(%rip), %rsi     # 0x70d9c
leaq 0x3c517(%rip), %rdx     # 0x70dba
movl $0x44f4, %ecx           # imm = 0x44F4
xorl %eax, %eax
callq 0x12d80
movq (%r12), %rdi
callq 0x13780
cmpq $0x0, 0x18(%rbx)
jne 0x348ed
movq 0x5272a(%rip), %r12     # 0x86ff0
movq (%r12), %rdi
leaq 0x3c4cb(%rip), %rsi     # 0x70d9c
leaq 0x3c4e2(%rip), %rdx     # 0x70dba
movl $0x44f5, %ecx           # imm = 0x44F5
xorl %eax, %eax
callq 0x12d80
movq (%r12), %rdi
callq 0x13780
cmpq $0x0, 0x20(%rbx)
jne 0x34922
movq 0x526f5(%rip), %r12     # 0x86ff0
movq (%r12), %rdi
leaq 0x3c496(%rip), %rsi     # 0x70d9c
leaq 0x3c4ad(%rip), %rdx     # 0x70dba
movl $0x44f6, %ecx           # imm = 0x44F6
xorl %eax, %eax
callq 0x12d80
movq (%r12), %rdi
callq 0x13780
testq %r15, %r15
je 0x34972
movq 0x30(%rbx), %rax
testq %rax, %rax
je 0x3499e
cmpq $0x0, 0x38(%rbx)
je 0x3499e
cmpq $0x0, 0x18(%rbx)
je 0x3499e
cmpq $0x0, 0x20(%rbx)
je 0x3499e
cmpb $0x0, (%r15)
je 0x349ae
movl $0x1, %ecx
cmpb $0x0, (%r15,%rcx)
leaq 0x1(%rcx), %rcx
jne 0x34950
addl $0x3, %ecx
movl $0xcccccccd, %r12d      # imm = 0xCCCCCCCD
imulq %rcx, %r12
shrq $0x20, %r12
andl $-0x4, %r12d
jmp 0x349b1
movq 0x52677(%rip), %rbx     # 0x86ff0
movq (%rbx), %rdi
leaq 0x3c419(%rip), %rsi     # 0x70d9c
leaq 0x3c430(%rip), %rdx     # 0x70dba
movl $0x44f8, %ecx           # imm = 0x44F8
xorl %eax, %eax
callq 0x12d80
movq (%rbx), %rdi
callq 0x13780
xorl %eax, %eax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
xorl %r12d, %r12d
movq 0x28(%rbx), %rdi
xorl %esi, %esi
movq %r12, %rdx
callq *%rax
testq %rax, %rax
je 0x34a92
movq %rax, %r13
movb (%r15), %cl
testb %cl, %cl
je 0x34a66
addq $0x5, %r15
movq %r13, %rax
movsbl %cl, %edx
xorl %ecx, %ecx
cmpb $0x5c, %dl
setge %cl
xorl $-0x23, %ecx
addl %edx, %ecx
movsbl -0x4(%r15), %esi
xorl %edx, %edx
cmpl $0x5c, %esi
setge %dl
xorl $-0x23, %edx
addl %esi, %edx
movsbl -0x3(%r15), %edi
xorl %esi, %esi
cmpl $0x5c, %edi
setge %sil
xorl $-0x23, %esi
addl %edi, %esi
movsbl -0x2(%r15), %edi
xorl %r8d, %r8d
cmpl $0x5c, %edi
setge %r8b
xorl $-0x23, %r8d
addl %edi, %r8d
movsbl -0x1(%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 $0x4, %rax
movb (%r15), %cl
addq $0x5, %r15
testb %cl, %cl
jne 0x349da
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movss 0xc(%rsp), %xmm0
movq %r14, %rcx
callq 0x13140
movq %rax, %r14
movq 0x28(%rbx), %rdi
movq %r13, %rsi
callq *0x38(%rbx)
movq %r14, %rax
jmp 0x349a0
movq 0x52557(%rip), %rbx     # 0x86ff0
movq (%rbx), %rdi
leaq 0x3c2f9(%rip), %rsi     # 0x70d9c
leaq 0x3c310(%rip), %rdx     # 0x70dba
movl $0x44ff, %ecx           # imm = 0x44FF
jmp 0x3498f