// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: is_columnizing
static bool is_columnizing(const char *str)
    {
        /* look for ~t ~,<int>T ~<int>,<int>t */
        char *p;

        for (p = (char *)str; (*p);)
            if (*p++ == '~') /* this is faster than strchr */
            {
                char c;
                c = *p++;
                if ((c == 't') || (c == 'T')) return(true);
                if (!c) return(false);
                if ((c == ',') || ((c >= '0') && (c <= '9')) || (c == 'n') || (c == 'N'))
                {
                    while (((c >= '0') && (c <= '9')) || (c == 'n') || (c == 'N')) c = *p++;
                    if ((c == 't') || (c == 'T')) return(true);
                    if (!c) return(false);                       /* ~,1 for example */
                    if (c == ',')
                    {
                        c = *p++;
                        while (((c >= '0') && (c <= '9')) || (c == 'n') || (c == 'N')) c = *p++;
                        if ((c == 't') || (c == 'T')) return(true);
                        if (!c) return(false);
                    }
                }
            }
        return(false);
    }

// Assembly:
movq %rdi, -0x10(%rsp)
movq -0x10(%rsp), %rax
movq %rax, -0x18(%rsp)
movq -0x18(%rsp), %rax
cmpb $0x0, (%rax)
je 0x1d9618
movq -0x18(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rsp)
movsbl (%rax), %eax
cmpl $0x7e, %eax
jne 0x1d9613
movq -0x18(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rsp)
movb (%rax), %al
movb %al, -0x19(%rsp)
movsbl -0x19(%rsp), %eax
cmpl $0x74, %eax
je 0x1d9485
movsbl -0x19(%rsp), %eax
cmpl $0x54, %eax
jne 0x1d948f
movb $0x1, -0x1(%rsp)
jmp 0x1d961d
cmpb $0x0, -0x19(%rsp)
jne 0x1d94a0
movb $0x0, -0x1(%rsp)
jmp 0x1d961d
movsbl -0x19(%rsp), %eax
cmpl $0x2c, %eax
je 0x1d94d6
movsbl -0x19(%rsp), %eax
cmpl $0x30, %eax
jl 0x1d94be
movsbl -0x19(%rsp), %eax
cmpl $0x39, %eax
jle 0x1d94d6
movsbl -0x19(%rsp), %eax
cmpl $0x6e, %eax
je 0x1d94d6
movsbl -0x19(%rsp), %eax
cmpl $0x4e, %eax
jne 0x1d9611
jmp 0x1d94d8
movsbl -0x19(%rsp), %eax
cmpl $0x30, %eax
jl 0x1d94f2
movsbl -0x19(%rsp), %ecx
movb $0x1, %al
cmpl $0x39, %ecx
movb %al, -0x1a(%rsp)
jle 0x1d9511
movsbl -0x19(%rsp), %ecx
movb $0x1, %al
cmpl $0x6e, %ecx
movb %al, -0x1a(%rsp)
je 0x1d9511
movsbl -0x19(%rsp), %eax
cmpl $0x4e, %eax
sete %al
movb %al, -0x1a(%rsp)
movb -0x1a(%rsp), %al
testb $0x1, %al
jne 0x1d951b
jmp 0x1d9534
movq -0x18(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rsp)
movb (%rax), %al
movb %al, -0x19(%rsp)
jmp 0x1d94d8
movsbl -0x19(%rsp), %eax
cmpl $0x74, %eax
je 0x1d9548
movsbl -0x19(%rsp), %eax
cmpl $0x54, %eax
jne 0x1d9552
movb $0x1, -0x1(%rsp)
jmp 0x1d961d
cmpb $0x0, -0x19(%rsp)
jne 0x1d9563
movb $0x0, -0x1(%rsp)
jmp 0x1d961d
movsbl -0x19(%rsp), %eax
cmpl $0x2c, %eax
jne 0x1d960f
movq -0x18(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rsp)
movb (%rax), %al
movb %al, -0x19(%rsp)
movsbl -0x19(%rsp), %eax
cmpl $0x30, %eax
jl 0x1d95a2
movsbl -0x19(%rsp), %ecx
movb $0x1, %al
cmpl $0x39, %ecx
movb %al, -0x1b(%rsp)
jle 0x1d95c1
movsbl -0x19(%rsp), %ecx
movb $0x1, %al
cmpl $0x6e, %ecx
movb %al, -0x1b(%rsp)
je 0x1d95c1
movsbl -0x19(%rsp), %eax
cmpl $0x4e, %eax
sete %al
movb %al, -0x1b(%rsp)
movb -0x1b(%rsp), %al
testb $0x1, %al
jne 0x1d95cb
jmp 0x1d95e4
movq -0x18(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rsp)
movb (%rax), %al
movb %al, -0x19(%rsp)
jmp 0x1d9588
movsbl -0x19(%rsp), %eax
cmpl $0x74, %eax
je 0x1d95f8
movsbl -0x19(%rsp), %eax
cmpl $0x54, %eax
jne 0x1d95ff
movb $0x1, -0x1(%rsp)
jmp 0x1d961d
cmpb $0x0, -0x19(%rsp)
jne 0x1d960d
movb $0x0, -0x1(%rsp)
jmp 0x1d961d
jmp 0x1d960f
jmp 0x1d9611
jmp 0x1d9613
jmp 0x1d942f
movb $0x0, -0x1(%rsp)
movb -0x1(%rsp), %al
andb $0x1, %al
retq
nopw %cs:(%rax,%rax)