// File: /workspace/github_c_makefile_star2_O0/NedFreed[P]msglint/msglint.c
// Function: validate_charset
static void validate_charset(MIMEinfo *mcur, msgtoken *cset, int lineno)
{
    const static char iso8859[] = "iso-8859-";

    mcur->asciisubset = 0;
    mcur->cset7bit = 0;
    if (tokcomp("us-ascii", -1, cset) == 0) {
	mcur->csetid = us_ascii;
	mcur->cset7bit = 1;
	return;
    }
    if (tokcomp("utf-7", -1, cset) == 0 ||
        tokcomp("unicode-1-1-utf-7", -1, cset) == 0) {
	mcur->csetid = utf7;
	mcur->cset7bit = 1;
        wprintf(NULL, w_warn, "Use 'utf-8' charset instead of utf-7 for "
               "better backwards compatibility, line %d", lineno);
        return;
    }
    if (tokcomp("x-unicode-2-0-utf-7", -1, cset) == 0) {
        wprintf(NULL, w_warn, "Use 'utf-8' charset instead of utf-7 for "
               "better backwards compatibility, line %d", lineno);
    }
    if (tokcomp("koi8-r", -1, cset) == 0) {
	mcur->asciisubset = 1;
	mcur->csetid = koi8_r;
	return;
    }
    if (tokcomp("utf-8", -1, cset) == 0) {
	mcur->asciisubset = 1;
	mcur->csetid = utf8;
	return;
    }
    if (tokcomp("iso2022-jp", -1, cset) == 0) {
	mcur->asciisubset = 2;
	mcur->csetid = iso2022_jp;
	mcur->cset7bit = 1;
	return;
    }
    if (tokcomp("iso2022-cn", -1, cset) == 0) {
	mcur->asciisubset = 2;
	mcur->csetid = iso2022_cn;
	mcur->cset7bit = 1;
	return;
    }
    if (tokcomp("shift_jis", -1, cset) == 0) {
	mcur->asciisubset = 1;
	mcur->csetid = shift_jis;
	return;
    }
    if (tokprefix(iso8859, sizeof (iso8859) - 1, cset) == 0) {
	mcur->asciisubset = 1;
	mcur->csetid = iso8859_any;
        return;
    }
    if (tokprefix("x-", 2, cset) == 0) {
	wprintf(NULL, w_warn, "unknown experimental charset '%t' on "
	    "line %d", cset, lineno);
    } else {
	wprintf(NULL, w_unknown, "unknown charset '%t' on "
	    "line %d", cset, lineno);
    }
    mcur->csetid = cset_unknown;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rax
movl $0x0, 0x68(%rax)
movq -0x8(%rbp), %rax
movl $0x0, 0x6c(%rax)
movq -0x10(%rbp), %rdx
leaq 0x7f59(%rip), %rdi      # 0x11a5d
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x60a0
cmpl $0x0, %eax
jne 0x9b2e
movq -0x8(%rbp), %rax
movl $0x0, 0x70(%rax)
movq -0x8(%rbp), %rax
movl $0x1, 0x6c(%rax)
jmp 0x9d89
movq -0x10(%rbp), %rdx
leaq 0x7f9e(%rip), %rdi      # 0x11ad7
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x60a0
cmpl $0x0, %eax
je 0x9b62
movq -0x10(%rbp), %rdx
leaq 0x7f13(%rip), %rdi      # 0x11a66
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x60a0
cmpl $0x0, %eax
jne 0x9b99
movq -0x8(%rbp), %rax
movl $0x1, 0x70(%rax)
movq -0x8(%rbp), %rax
movl $0x1, 0x6c(%rax)
movl -0x14(%rbp), %ecx
xorl %eax, %eax
movl %eax, %edi
leaq 0x57eb(%rip), %rsi      # 0xf371
leaq 0x7eeb(%rip), %rdx      # 0x11a78
movb $0x0, %al
callq 0x2e50
jmp 0x9d89
movq -0x10(%rbp), %rdx
leaq 0x7f25(%rip), %rdi      # 0x11ac9
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x60a0
cmpl $0x0, %eax
jne 0x9bcf
movl -0x14(%rbp), %ecx
xorl %eax, %eax
movl %eax, %edi
leaq 0x57b0(%rip), %rsi      # 0xf371
leaq 0x7eb0(%rip), %rdx      # 0x11a78
movb $0x0, %al
callq 0x2e50
movq -0x10(%rbp), %rdx
leaq 0x7f03(%rip), %rdi      # 0x11add
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x60a0
cmpl $0x0, %eax
jne 0x9c04
movq -0x8(%rbp), %rax
movl $0x1, 0x68(%rax)
movq -0x8(%rbp), %rax
movl $0x4, 0x70(%rax)
jmp 0x9d89
movq -0x10(%rbp), %rdx
leaq 0x7ed5(%rip), %rdi      # 0x11ae4
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x60a0
cmpl $0x0, %eax
jne 0x9c39
movq -0x8(%rbp), %rax
movl $0x1, 0x68(%rax)
movq -0x8(%rbp), %rax
movl $0x2, 0x70(%rax)
jmp 0x9d89
movq -0x10(%rbp), %rdx
leaq 0x7ea6(%rip), %rdi      # 0x11aea
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x60a0
cmpl $0x0, %eax
jne 0x9c79
movq -0x8(%rbp), %rax
movl $0x2, 0x68(%rax)
movq -0x8(%rbp), %rax
movl $0x6, 0x70(%rax)
movq -0x8(%rbp), %rax
movl $0x1, 0x6c(%rax)
jmp 0x9d89
movq -0x10(%rbp), %rdx
leaq 0x7e71(%rip), %rdi      # 0x11af5
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x60a0
cmpl $0x0, %eax
jne 0x9cb9
movq -0x8(%rbp), %rax
movl $0x2, 0x68(%rax)
movq -0x8(%rbp), %rax
movl $0x7, 0x70(%rax)
movq -0x8(%rbp), %rax
movl $0x1, 0x6c(%rax)
jmp 0x9d89
movq -0x10(%rbp), %rdx
leaq 0x7e3c(%rip), %rdi      # 0x11b00
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x60a0
cmpl $0x0, %eax
jne 0x9cee
movq -0x8(%rbp), %rax
movl $0x1, 0x68(%rax)
movq -0x8(%rbp), %rax
movl $0x5, 0x70(%rax)
jmp 0x9d89
movq -0x10(%rbp), %rdx
leaq 0x5ada(%rip), %rdi      # 0xf7d3
movl $0x9, %esi
callq 0x9a60
cmpl $0x0, %eax
jne 0x9d20
movq -0x8(%rbp), %rax
movl $0x1, 0x68(%rax)
movq -0x8(%rbp), %rax
movl $0x3, 0x70(%rax)
jmp 0x9d89
movq -0x10(%rbp), %rdx
leaq 0x7246(%rip), %rdi      # 0x10f71
movl $0x2, %esi
callq 0x9a60
cmpl $0x0, %eax
jne 0x9d5d
movq -0x10(%rbp), %rcx
movl -0x14(%rbp), %r8d
xorl %eax, %eax
movl %eax, %edi
leaq 0x5624(%rip), %rsi      # 0xf371
leaq 0x7db6(%rip), %rdx      # 0x11b0a
movb $0x0, %al
callq 0x2e50
jmp 0x9d7e
movq -0x10(%rbp), %rcx
movl -0x14(%rbp), %r8d
xorl %eax, %eax
movl %eax, %edi
leaq 0x59ae(%rip), %rsi      # 0xf71e
leaq 0x7dc0(%rip), %rdx      # 0x11b37
movb $0x0, %al
callq 0x2e50
movq -0x8(%rbp), %rax
movl $0x8, 0x70(%rax)
addq $0x20, %rsp
popq %rbp
retq
nop