// File: /workspace/github_cpp_makefile_star2_O3/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 $0x2018, %rsp           # imm = 0x2018
movl %r8d, %ebp
movl %ecx, %r12d
movl %edx, %ebx
movl %esi, %r8d
movl 0x2c9a(%rip), %ecx      # 0x510c
movl %ecx, %eax
shrl $0x1f, %eax
addl %ecx, %eax
sarl %eax
cmpl %esi, %eax
jg 0x26dc
movl 0x2c7f(%rip), %edx      # 0x5108
movl %edx, %ecx
shrl $0x1f, %ecx
addl %edx, %ecx
sarl %ecx
cmpl %ebx, %ecx
jg 0x26dc
movq %rdi, %r14
addl %r8d, %eax
cmpl 0x420(%rdi), %eax
jge 0x26dc
addl %ebx, %ecx
cmpl 0x41c(%r14), %ecx
jge 0x26dc
movl %r9d, %r13d
movl %r8d, (%rsp)
leaq 0xd3c(%rip), %rsi       # 0x3205
leaq 0x10(%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 0x24fb
callq 0x1030
cmpl $0x11, (%rax)
jne 0x2736
movq 0x428(%r14), %rdx
testq %rdx, %rdx
je 0x2525
leaq 0xd00(%rip), %rsi       # 0x320e
leaq 0x10(%rsp), %rdi
movl %r13d, %ecx
movl %r12d, %r8d
movl %ebp, %r9d
xorl %eax, %eax
callq 0x1050
jmp 0x2541
leaq 0xce7(%rip), %rsi       # 0x3213
leaq 0x10(%rsp), %rdi
movl %r13d, %edx
movl %r12d, %ecx
movl %ebp, %r8d
xorl %eax, %eax
callq 0x1050
cmpq $0x0, 0x428(%r14)
je 0x25a9
movslq 0x418(%r14), %rax
movq 0x18(%r14,%rax,8), %rdi
testq %rdi, %rdi
je 0x2569
callq 0x1160
testl %eax, %eax
jne 0x270d
leaq 0xc53(%rip), %rsi       # 0x31c3
leaq 0x10(%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 0x25bd
leaq 0xc13(%rip), %rsi       # 0x31c3
leaq 0x10(%rsp), %rdi
callq 0x1140
movq %rax, %r15
testq %r15, %r15
je 0x272c
movl 0x2b3c(%rip), %edx      # 0x5108
movl 0x2b3a(%rip), %ecx      # 0x510c
movl 0x424(%r14), %r8d
leaq 0xc64(%rip), %rsi       # 0x3244
movq %r15, %rdi
xorl %eax, %eax
callq 0x1170
movl 0x2b1c(%rip), %ecx      # 0x510c
movl %ecx, %eax
shrl $0x1f, %eax
addl %ecx, %eax
sarl %eax
movl (%rsp), %edi
movl %edi, %r8d
subl %eax, %r8d
addl %edi, %eax
cmpl %eax, %r8d
jg 0x26a0
movl 0x2af5(%rip), %eax      # 0x5108
leal -0x1(%rbx), %edx
movl %edx, 0x4(%rsp)
movl %eax, %ebp
shrl $0x1f, %ebp
addl %eax, %ebp
sarl %ebp
movl %ebx, %edx
subl %ebp, %edx
leal (%rbx,%rbp), %esi
cmpl %esi, %edx
jg 0x2685
negl %ebp
addl 0x4(%rsp), %ebp
movslq %edx, %r13
movq %r8, 0x8(%rsp)
movslq %r8d, %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 0x2aa5(%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 0x263f
movl 0x2a8f(%rip), %ecx      # 0x510c
movl (%rsp), %edi
movq 0x8(%rsp), %r8
leal 0x1(%r8), %edx
movl %ecx, %esi
shrl $0x1f, %esi
addl %ecx, %esi
sarl %esi
addl %edi, %esi
cmpl %esi, %r8d
movl %edx, %r8d
jl 0x261a
cmpq $0x0, 0x428(%r14)
je 0x26c3
movq %r15, %rdi
addq $0x2018, %rsp           # imm = 0x2018
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1130
movq %r15, %rdi
addq $0x2018, %rsp           # imm = 0x2018
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1100
movq 0x28ed(%rip), %rax      # 0x4fd0
movq (%rax), %rdi
leaq 0xae5(%rip), %rsi       # 0x31d2
movl %r12d, %edx
movl %ebp, %ecx
movl %ebx, %r9d
xorl %eax, %eax
addq $0x2018, %rsp           # imm = 0x2018
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1170
movq 0x28bc(%rip), %rcx      # 0x4fd0
movq (%rcx), %rdi
leaq 0xb0d(%rip), %rsi       # 0x322b
movl %eax, %edx
xorl %eax, %eax
callq 0x1170
jmp 0x2569
leaq 0x10(%rsp), %rdi
callq 0x12c6
leaq 0x10(%rsp), %rdi
callq 0x12b8