// File: /workspace/github_cpp_makefile_star2_O1/leobru[P]ACPUfont/splitter.cc
// Function: Picture::dump(int, int, int, int, int)
void dump(int cline, int ccol, int lineno, int colno, int where) {
        if (cline-vsize/2 < 0 || ccol-hsize/2 < 0 ||
            cline + vsize/2 >= height || ccol + hsize/2 >= width) {
            fprintf(stderr, "Cell [%d,%d] with center (%d,%d) is out of bounds\n", lineno, colno, cline, ccol);
            return;
        }
        char fname[8192];
        sprintf(fname, "gost%03o", where);
        if (-1 == mkdir(fname, 0700) && errno != EEXIST) {
            perror(fname);
            exit(1);
        }
        if (postproc) 
            sprintf(fname, "%s > gost%03o/l%02dc%03d.pgm", postproc, where, lineno, colno);
        else 
            sprintf(fname, "gost%03o/l%02dc%03d.pgm", where, lineno, colno);
        FILE * f;
        if (postproc) {
            if (runs[currun]) {
                int ret = pclose(runs[currun]); 
                if (ret) {
                    fprintf(stderr, "Postproc failed with %d\n", ret);
                }
            }
            f = runs[currun] = popen(fname, "w") ;
            currun = (currun+1)%128;
        } else {
            f = fopen(fname, "w");
        }
        if (f == NULL) { perror(fname); exit(1); }
        fprintf(f, "P5\n%d %d\n%d\n", hsize, vsize, full);
        for (int i = cline - vsize/2; i <= cline + vsize/2; ++i) {
            for (int j = ccol - hsize/2; j <= ccol + hsize/2; ++j)
                putc(int(p(i,j)), f);
        }
        if (!postproc)
            fclose(f);
        else
            fflush(f);
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2028, %rsp           # imm = 0x2028
movl %r8d, %ebp
movl %ecx, %r12d
movl %edx, %ebx
movl 0x2c65(%rip), %ecx      # 0x510c
movl %ecx, %eax
shrl $0x1f, %eax
addl %ecx, %eax
sarl %eax
movl %esi, 0xc(%rsp)
cmpl %esi, %eax
jg 0x2711
movl 0x2c46(%rip), %edx      # 0x5108
movl %edx, %ecx
shrl $0x1f, %ecx
addl %edx, %ecx
sarl %ecx
cmpl %ebx, %ecx
jg 0x2711
movq %rdi, %r14
addl 0xc(%rsp), %eax
cmpl 0x420(%rdi), %eax
jge 0x2711
addl %ebx, %ecx
cmpl 0x41c(%r14), %ecx
jge 0x2711
movl %r9d, %r13d
leaq 0xd06(%rip), %rsi       # 0x3205
leaq 0x20(%rsp), %r15
movq %r15, %rdi
movl %r9d, %edx
xorl %eax, %eax
callq 0x1050
movq %r15, %rdi
movl $0x1c0, %esi            # imm = 0x1C0
callq 0x10a0
cmpl $-0x1, %eax
jne 0x2531
callq 0x1030
cmpl $0x11, (%rax)
jne 0x2770
movq 0x428(%r14), %rdx
testq %rdx, %rdx
je 0x255b
leaq 0xcca(%rip), %rsi       # 0x320e
leaq 0x20(%rsp), %rdi
movl %r13d, %ecx
movl %r12d, %r8d
movl %ebp, %r9d
xorl %eax, %eax
callq 0x1050
jmp 0x2577
leaq 0xcb1(%rip), %rsi       # 0x3213
leaq 0x20(%rsp), %rdi
movl %r13d, %edx
movl %r12d, %ecx
movl %ebp, %r8d
xorl %eax, %eax
callq 0x1050
cmpq $0x0, 0x428(%r14)
je 0x25df
movslq 0x418(%r14), %rax
movq 0x18(%r14,%rax,8), %rdi
testq %rdi, %rdi
je 0x259f
callq 0x1160
testl %eax, %eax
jne 0x2747
leaq 0xc1d(%rip), %rsi       # 0x31c3
leaq 0x20(%rsp), %rdi
callq 0x1080
movq %rax, %r15
movslq 0x418(%r14), %rax
movq %r15, 0x18(%r14,%rax,8)
leal 0x1(%rax), %ecx
leal 0x80(%rax), %edx
testl %ecx, %ecx
cmovnsl %ecx, %edx
andl $-0x80, %edx
negl %edx
addl %edx, %eax
incl %eax
movl %eax, 0x418(%r14)
jmp 0x25f3
leaq 0xbdd(%rip), %rsi       # 0x31c3
leaq 0x20(%rsp), %rdi
callq 0x1140
movq %rax, %r15
testq %r15, %r15
je 0x2766
movl 0x2b06(%rip), %edx      # 0x5108
movl 0x2b04(%rip), %ecx      # 0x510c
movl 0x424(%r14), %r8d
leaq 0xc2e(%rip), %rsi       # 0x3244
movq %r15, %rdi
xorl %eax, %eax
callq 0x1170
movl 0x2ae6(%rip), %eax      # 0x510c
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
movl 0xc(%rsp), %eax
movl %eax, %edx
subl %ecx, %edx
addl %eax, %ecx
movq %rdx, 0x10(%rsp)
cmpl %ecx, %edx
jg 0x26d5
leal -0x1(%rbx), %eax
movl %eax, 0x1c(%rsp)
movl 0x2ab5(%rip), %eax      # 0x5108
movl %eax, %ebp
shrl $0x1f, %ebp
addl %eax, %ebp
sarl %ebp
movl %ebx, %eax
subl %ebp, %eax
leal (%rbx,%rbp), %ecx
cmpl %ecx, %eax
jg 0x26ad
negl %ebp
addl 0x1c(%rsp), %ebp
movslq %eax, %r13
movslq 0x10(%rsp), %r12
movslq 0x41c(%r14), %rax
imulq %r12, %rax
addq %r13, %rax
movq (%r14), %rcx
cvttsd2si (%rcx,%rax,8), %edi
movq %r15, %rsi
callq 0x11d0
movl 0x2a6f(%rip), %eax      # 0x5108
movl %eax, %ecx
shrl $0x1f, %ecx
addl %eax, %ecx
sarl %ecx
addl %ebx, %ecx
incl %ebp
incq %r13
cmpl %ecx, %ebp
jl 0x2675
movq 0x10(%rsp), %rsi
leal 0x1(%rsi), %eax
movl 0x2a51(%rip), %ecx      # 0x510c
movl %ecx, %edx
shrl $0x1f, %edx
addl %ecx, %edx
sarl %edx
addl 0xc(%rsp), %edx
cmpl %edx, %esi
movq %rax, 0x10(%rsp)
jl 0x264d
cmpq $0x0, 0x428(%r14)
je 0x26f8
movq %r15, %rdi
addq $0x2028, %rsp           # imm = 0x2028
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1130
movq %r15, %rdi
addq $0x2028, %rsp           # imm = 0x2028
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1100
movq 0x28b8(%rip), %rax      # 0x4fd0
movq (%rax), %rdi
leaq 0xab0(%rip), %rsi       # 0x31d2
movl %r12d, %edx
movl %ebp, %ecx
movl 0xc(%rsp), %r8d
movl %ebx, %r9d
xorl %eax, %eax
addq $0x2028, %rsp           # imm = 0x2028
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1170
movq 0x2882(%rip), %rcx      # 0x4fd0
movq (%rcx), %rdi
leaq 0xad3(%rip), %rsi       # 0x322b
movl %eax, %edx
xorl %eax, %eax
callq 0x1170
jmp 0x259f
leaq 0x20(%rsp), %rdi
callq 0x12c6
leaq 0x20(%rsp), %rdi
callq 0x12b8