// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_font_bake_custom_data
NK_INTERN void
nk_font_bake_custom_data(void *img_memory, int img_width, int img_height,
    struct nk_recti img_dst, const char *texture_data_mask, int tex_width,
    int tex_height, char white, char black)
{
    nk_byte *pixels;
    int y = 0;
    int x = 0;
    int n = 0;

    NK_ASSERT(img_memory);
    NK_ASSERT(img_width);
    NK_ASSERT(img_height);
    NK_ASSERT(texture_data_mask);
    NK_UNUSED(tex_height);
    if (!img_memory || !img_width || !img_height || !texture_data_mask)
        return;

    pixels = (nk_byte*)img_memory;
    for (y = 0, n = 0; y < tex_height; ++y) {
        for (x = 0; x < tex_width; ++x, ++n) {
            const int off0 = ((img_dst.x + x) + (img_dst.y + y) * img_width);
            const int off1 = off0 + 1 + tex_width;
            pixels[off0] = (texture_data_mask[n] == white) ? 0xFF : 0x00;
            pixels[off1] = (texture_data_mask[n] == black) ? 0xFF : 0x00;
        }
    }
}

// Assembly:
subq $0x48, %rsp
movb 0x60(%rsp), %al
movb 0x58(%rsp), %al
movl 0x50(%rsp), %eax
movq %rcx, 0x40(%rsp)
movq %rdi, 0x38(%rsp)
movl %esi, 0x34(%rsp)
movl %edx, 0x30(%rsp)
movq %r8, 0x28(%rsp)
movl %r9d, 0x24(%rsp)
movl $0x0, 0x14(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0xc(%rsp)
cmpq $0x0, 0x38(%rsp)
jne 0x4b4ef
movq 0x79b2d(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x65ed3(%rip), %rsi     # 0xb13a0
leaq 0x65eea(%rip), %rdx     # 0xb13be
movl $0x422a, %ecx           # imm = 0x422A
movb $0x0, %al
callq 0x13ec0
movq 0x79b09(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x4b4f1
jmp 0x4b4f3
cmpl $0x0, 0x34(%rsp)
jne 0x4b52d
movq 0x79aef(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x65e95(%rip), %rsi     # 0xb13a0
leaq 0x65eac(%rip), %rdx     # 0xb13be
movl $0x422b, %ecx           # imm = 0x422B
movb $0x0, %al
callq 0x13ec0
movq 0x79acb(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x4b52f
jmp 0x4b531
cmpl $0x0, 0x30(%rsp)
jne 0x4b56b
movq 0x79ab1(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x65e57(%rip), %rsi     # 0xb13a0
leaq 0x65e6e(%rip), %rdx     # 0xb13be
movl $0x422c, %ecx           # imm = 0x422C
movb $0x0, %al
callq 0x13ec0
movq 0x79a8d(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x4b56d
jmp 0x4b56f
cmpq $0x0, 0x28(%rsp)
jne 0x4b5aa
movq 0x79a72(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x65e18(%rip), %rsi     # 0xb13a0
leaq 0x65e2f(%rip), %rdx     # 0xb13be
movl $0x422d, %ecx           # imm = 0x422D
movb $0x0, %al
callq 0x13ec0
movq 0x79a4e(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x4b5ac
cmpq $0x0, 0x38(%rsp)
je 0x4b5ca
cmpl $0x0, 0x34(%rsp)
je 0x4b5ca
cmpl $0x0, 0x30(%rsp)
je 0x4b5ca
cmpq $0x0, 0x28(%rsp)
jne 0x4b5cf
jmp 0x4b6c2
movq 0x38(%rsp), %rax
movq %rax, 0x18(%rsp)
movl $0x0, 0x14(%rsp)
movl $0x0, 0xc(%rsp)
movl 0x14(%rsp), %eax
cmpl 0x50(%rsp), %eax
jge 0x4b6c2
movl $0x0, 0x10(%rsp)
movl 0x10(%rsp), %eax
cmpl 0x24(%rsp), %eax
jge 0x4b6b0
movswl 0x40(%rsp), %eax
addl 0x10(%rsp), %eax
movswl 0x42(%rsp), %ecx
addl 0x14(%rsp), %ecx
imull 0x34(%rsp), %ecx
addl %ecx, %eax
movl %eax, 0x8(%rsp)
movl 0x8(%rsp), %eax
addl $0x1, %eax
addl 0x24(%rsp), %eax
movl %eax, 0x4(%rsp)
movq 0x28(%rsp), %rax
movslq 0xc(%rsp), %rcx
movsbl (%rax,%rcx), %edx
movsbl 0x58(%rsp), %esi
xorl %eax, %eax
movl $0xff, %ecx
cmpl %esi, %edx
cmovel %ecx, %eax
movb %al, %dl
movq 0x18(%rsp), %rax
movslq 0x8(%rsp), %rcx
movb %dl, (%rax,%rcx)
movq 0x28(%rsp), %rax
movslq 0xc(%rsp), %rcx
movsbl (%rax,%rcx), %edx
movsbl 0x60(%rsp), %esi
xorl %eax, %eax
movl $0xff, %ecx
cmpl %esi, %edx
cmovel %ecx, %eax
movb %al, %dl
movq 0x18(%rsp), %rax
movslq 0x4(%rsp), %rcx
movb %dl, (%rax,%rcx)
movl 0x10(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x10(%rsp)
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x4b5ff
jmp 0x4b6b2
movl 0x14(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x14(%rsp)
jmp 0x4b5e9
addq $0x48, %rsp
retq
nopw (%rax,%rax)