// File: /workspace/github_c_makefile_star2_O0/nurse[P]nkf/nkf.c
// Function: mime_begin
static nkf_char
mime_begin(FILE *f)
{
    nkf_char c1 = 0;
    int i,k;

    /* In NONSTRICT mode, only =? is checked. In case of failure, we  */
    /* re-read and convert again from mime_buffer.  */

    /* =? has been checked */
    k = mime_input_state.last;
    mime_input_buf(mime_input_state.last++)='='; mime_input_buf(mime_input_state.last++)='?';
    for(i=2;i<MAXRECOVER;i++) {                   /* start at =? */
	/* We accept any character type even if it is breaked by new lines */
	c1 = (*i_getc)(f); mime_input_buf(mime_input_state.last++) = (unsigned char)c1;
	if (c1==LF||c1==SP||c1==CR||
	    c1=='-'||c1=='_'||is_alnum(c1)) continue;
	if (c1=='=') {
	    /* Failed. But this could be another MIME preemble */
	    (*i_ungetc)(c1,f);
	    mime_input_state.last--;
	    break;
	}
	if (c1!='?') break;
	else {
	    /* c1=='?' */
	    c1 = (*i_getc)(f); mime_input_buf(mime_input_state.last++) = (unsigned char)c1;
	    if (!(++i<MAXRECOVER) || c1==EOF) break;
	    if (c1=='b'||c1=='B') {
		mime_decode_mode = 'B';
	    } else if (c1=='q'||c1=='Q') {
		mime_decode_mode = 'Q';
	    } else {
		break;
	    }
	    c1 = (*i_getc)(f); mime_input_buf(mime_input_state.last++) = (unsigned char)c1;
	    if (!(++i<MAXRECOVER) || c1==EOF) break;
	    if (c1!='?') {
		mime_decode_mode = FALSE;
	    }
	    break;
	}
    }
    switch_mime_getc();
    if (!mime_decode_mode) {
	/* false MIME premble, restart from mime_buffer */
	mime_decode_mode = 1;  /* no decode, but read from the mime_buffer */
	/* Since we are in MIME mode until buffer becomes empty,    */
	/* we never go into mime_begin again for a while.           */
	return c1;
    }
    /* discard mime preemble, and goto MIME mode */
    mime_input_state.last = k;
    /* do no MIME integrity check */
    return c1;   /* used only for checking EOF */
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movl 0x40537(%rip), %eax     # 0x5aa70
movl %eax, -0x1c(%rbp)
movl 0x4052e(%rip), %eax     # 0x5aa70
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x40523(%rip)     # 0x5aa70
andl $0x3ff, %eax            # imm = 0x3FF
movl %eax, %eax
movl %eax, %ecx
leaq 0x4010f(%rip), %rax     # 0x5a66c
movb $0x3d, (%rax,%rcx)
movl 0x40509(%rip), %eax     # 0x5aa70
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x404fe(%rip)     # 0x5aa70
andl $0x3ff, %eax            # imm = 0x3FF
movl %eax, %eax
movl %eax, %ecx
leaq 0x400ea(%rip), %rax     # 0x5a66c
movb $0x3f, (%rax,%rcx)
movl $0x2, -0x18(%rbp)
cmpl $0x14, -0x18(%rbp)
jge 0x1a74d
movq 0x37d6a(%rip), %rax     # 0x52308
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movb %al, %dl
movl 0x404be(%rip), %eax     # 0x5aa70
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x404b3(%rip)     # 0x5aa70
andl $0x3ff, %eax            # imm = 0x3FF
movl %eax, %eax
movl %eax, %ecx
leaq 0x4009f(%rip), %rax     # 0x5a66c
movb %dl, (%rax,%rcx)
cmpl $0xa, -0x14(%rbp)
je 0x1a61e
cmpl $0x20, -0x14(%rbp)
je 0x1a61e
cmpl $0xd, -0x14(%rbp)
je 0x1a61e
cmpl $0x2d, -0x14(%rbp)
je 0x1a61e
cmpl $0x5f, -0x14(%rbp)
je 0x1a61e
movl $0x61, %eax
cmpl -0x14(%rbp), %eax
jg 0x1a5fe
cmpl $0x7a, -0x14(%rbp)
jle 0x1a61e
movl $0x41, %eax
cmpl -0x14(%rbp), %eax
jg 0x1a60e
cmpl $0x5a, -0x14(%rbp)
jle 0x1a61e
movl $0x30, %eax
cmpl -0x14(%rbp), %eax
jg 0x1a623
cmpl $0x39, -0x14(%rbp)
jg 0x1a623
jmp 0x1a73f
cmpl $0x3d, -0x14(%rbp)
jne 0x1a64d
movq 0x37ce0(%rip), %rax     # 0x52310
movl -0x14(%rbp), %edi
movq -0x10(%rbp), %rsi
callq *%rax
movl 0x40431(%rip), %eax     # 0x5aa70
addl $-0x1, %eax
movl %eax, 0x40428(%rip)     # 0x5aa70
jmp 0x1a74d
cmpl $0x3f, -0x14(%rbp)
je 0x1a658
jmp 0x1a74d
movq 0x37ca9(%rip), %rax     # 0x52308
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movb %al, %dl
movl 0x403fd(%rip), %eax     # 0x5aa70
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x403f2(%rip)     # 0x5aa70
andl $0x3ff, %eax            # imm = 0x3FF
movl %eax, %eax
movl %eax, %ecx
leaq 0x3ffde(%rip), %rax     # 0x5a66c
movb %dl, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
cmpl $0x14, %eax
jge 0x1a6a5
cmpl $-0x1, -0x14(%rbp)
jne 0x1a6aa
jmp 0x1a74d
cmpl $0x62, -0x14(%rbp)
je 0x1a6b6
cmpl $0x42, -0x14(%rbp)
jne 0x1a6c2
movl $0x42, 0x3ff20(%rip)    # 0x5a5e0
jmp 0x1a6de
cmpl $0x71, -0x14(%rbp)
je 0x1a6ce
cmpl $0x51, -0x14(%rbp)
jne 0x1a6da
movl $0x51, 0x3ff08(%rip)    # 0x5a5e0
jmp 0x1a6dc
jmp 0x1a74d
jmp 0x1a6de
movq 0x37c23(%rip), %rax     # 0x52308
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
movb %al, %dl
movl 0x40377(%rip), %eax     # 0x5aa70
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x4036c(%rip)     # 0x5aa70
andl $0x3ff, %eax            # imm = 0x3FF
movl %eax, %eax
movl %eax, %ecx
leaq 0x3ff58(%rip), %rax     # 0x5a66c
movb %dl, (%rax,%rcx)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
cmpl $0x14, %eax
jge 0x1a72b
cmpl $-0x1, -0x14(%rbp)
jne 0x1a72d
jmp 0x1a74d
cmpl $0x3f, -0x14(%rbp)
je 0x1a73d
movl $0x0, 0x3fea3(%rip)     # 0x5a5e0
jmp 0x1a74d
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x1a58d
callq 0x1adf0
cmpl $0x0, 0x3fe87(%rip)     # 0x5a5e0
jne 0x1a76d
movl $0x1, 0x3fe7b(%rip)     # 0x5a5e0
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x1a77c
movl -0x1c(%rbp), %eax
movl %eax, 0x402fa(%rip)     # 0x5aa70
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)