// File: /workspace/github_c_makefile_star2_O0/cinemast[P]sudoku/sudoku.c
// Function: tgets
static
char *
tgets (char *   str,
       int      n,
       FILE *    stream)
{
    char * ret = 0;
    if (stream == &default_template_file) {
        int i = 0;
        if (str != 0
            && n > 0
            && default_template_siz > default_template_pos
            && default_template_pos >= 0) {
            char ch = 0;
            while (default_template_pos < default_template_siz
                   && n > i) {
                unsigned char ci = default_template[default_template_pos >> 2];
                int j = (default_template_pos++ & 3);
                if (j > 0) {
                    ci >>= 2 * j;
                }
                ch = dtct[ci & 3];
                str[i++] = ch;
                if (ch == '\n') {
                    break;
                }
            }
            if (i < n) {
                str[i++] = 0;
                ret = str;
            } else if (i == n && 0 < n) {
                str[n - 1] = 0;
                ret = str;
            }
        }
    } else {
        ret = fgets (str,
                     n,
                     stream);
    }
    return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
leaq 0xc866(%rip), %rax      # 0x12ba8
cmpq %rax, -0x18(%rbp)
jne 0x648f
movl $0x0, -0x24(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x648d
cmpl $0x0, -0xc(%rbp)
jle 0x648d
movl 0xc912(%rip), %eax      # 0x12c80
cmpl 0xc910(%rip), %eax      # 0x12c84
jle 0x648d
cmpl $0x0, 0xc903(%rip)      # 0x12c84
jl 0x648d
movb $0x0, -0x25(%rbp)
movl 0xc8f3(%rip), %ecx      # 0x12c84
xorl %eax, %eax
cmpl 0xc8e7(%rip), %ecx      # 0x12c80
movb %al, -0x2d(%rbp)
jge 0x63aa
movl -0xc(%rbp), %eax
cmpl -0x24(%rbp), %eax
setg %al
movb %al, -0x2d(%rbp)
movb -0x2d(%rbp), %al
testb $0x1, %al
jne 0x63b6
jmp 0x6439
movl 0xc8c8(%rip), %eax      # 0x12c84
sarl $0x2, %eax
movslq %eax, %rcx
leaq 0x5197(%rip), %rax      # 0xb560
movb (%rax,%rcx), %al
movb %al, -0x26(%rbp)
movl 0xc8af(%rip), %eax      # 0x12c84
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0xc8a4(%rip)      # 0x12c84
andl $0x3, %eax
movl %eax, -0x2c(%rbp)
cmpl $0x0, -0x2c(%rbp)
jle 0x63fa
movl -0x2c(%rbp), %ecx
shll %ecx
movzbl -0x26(%rbp), %eax
sarl %cl, %eax
movb %al, -0x26(%rbp)
movzbl -0x26(%rbp), %eax
andl $0x3, %eax
movslq %eax, %rcx
leaq 0x68c8(%rip), %rax      # 0xccd3
movb (%rax,%rcx), %al
movb %al, -0x25(%rbp)
movb -0x25(%rbp), %dl
movq -0x8(%rbp), %rax
movl -0x24(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x24(%rbp)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
movsbl -0x25(%rbp), %eax
cmpl $0xa, %eax
jne 0x6434
jmp 0x6439
jmp 0x638b
movl -0x24(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0x6461
movq -0x8(%rbp), %rax
movl -0x24(%rbp), %ecx
movl %ecx, %edx
addl $0x1, %edx
movl %edx, -0x24(%rbp)
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x648b
movl -0x24(%rbp), %eax
cmpl -0xc(%rbp), %eax
jne 0x6489
xorl %eax, %eax
cmpl -0xc(%rbp), %eax
jge 0x6489
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x648b
jmp 0x648d
jmp 0x64a3
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movq -0x18(%rbp), %rdx
callq 0x21d0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)