// File: /workspace/github_c_makefile_star2_O3/nurse[P]nkf/nkf.c
// Function: mime_getc
static nkf_char
mime_getc(FILE *f)
{
    nkf_char c1, c2, c3, c4, cc;
    nkf_char t1, t2, t3, t4, mode, exit_mode;
    nkf_char lwsp_count;
    char *lwsp_buf;
    char *lwsp_buf_new;
    nkf_char lwsp_size = 128;

    if (mime_input_state.top != mime_input_state.last) {  /* Something is in FIFO */
	return  mime_input_buf(mime_input_state.top++);
    }
    if (mime_decode_mode==1 ||mime_decode_mode==FALSE) {
	mime_decode_mode=FALSE;
	unswitch_mime_getc();
	return (*i_getc)(f);
    }

    if (mimebuf_f == FIXED_MIME)
	exit_mode = mime_decode_mode;
    else
	exit_mode = FALSE;
    if (mime_decode_mode == 'Q') {
	if ((c1 = (*i_mgetc)(f)) == EOF) return (EOF);
      restart_mime_q:
	if (c1=='_' && mimebuf_f != FIXED_MIME) return SP;
	if (c1<=SP || DEL<=c1) {
	    mime_decode_mode = exit_mode; /* prepare for quit */
	    return c1;
	}
	if (c1!='=' && (c1!='?' || mimebuf_f == FIXED_MIME)) {
	    return c1;
	}

	mime_decode_mode = exit_mode; /* prepare for quit */
	if ((c2 = (*i_mgetc)(f)) == EOF) return (EOF);
	if (c1=='?'&&c2=='=' && mimebuf_f != FIXED_MIME) {
	    /* end Q encoding */
	    input_mode = exit_mode;
	    lwsp_count = 0;
	    lwsp_buf = nkf_xmalloc((lwsp_size+5)*sizeof(char));
	    while ((c1=(*i_getc)(f))!=EOF) {
		switch (c1) {
		case LF:
		case CR:
		    if (c1==LF) {
			if ((c1=(*i_getc)(f))!=EOF && nkf_isblank(c1)) {
			    i_ungetc(SP,f);
			    continue;
			} else {
			    i_ungetc(c1,f);
			}
			c1 = LF;
		    } else {
			if ((c1=(*i_getc)(f))!=EOF && c1 == LF) {
			    if ((c1=(*i_getc)(f))!=EOF && nkf_isblank(c1)) {
				i_ungetc(SP,f);
				continue;
			    } else {
				i_ungetc(c1,f);
			    }
			    i_ungetc(LF,f);
			} else {
			    i_ungetc(c1,f);
			}
			c1 = CR;
		    }
		    break;
		case SP:
		case TAB:
		    lwsp_buf[lwsp_count] = (unsigned char)c1;
		    if (lwsp_count++>lwsp_size){
			lwsp_size <<= 1;
			lwsp_buf_new = nkf_xrealloc(lwsp_buf, (lwsp_size+5)*sizeof(char));
			lwsp_buf = lwsp_buf_new;
		    }
		    continue;
		}
		break;
	    }
	    if (lwsp_count > 0 && (c1 != '=' || (lwsp_buf[lwsp_count-1] != SP && lwsp_buf[lwsp_count-1] != TAB))) {
		i_ungetc(c1,f);
		for(lwsp_count--;lwsp_count>0;lwsp_count--)
		    i_ungetc(lwsp_buf[lwsp_count],f);
		c1 = lwsp_buf[0];
	    }
	    nkf_xfree(lwsp_buf);
	    return c1;
	}
	if (c1=='='&&c2<SP) { /* this is soft wrap */
	    while((c1 =  (*i_mgetc)(f)) <=SP) {
		if (c1 == EOF) return (EOF);
	    }
	    mime_decode_mode = 'Q'; /* still in MIME */
	    goto restart_mime_q;
	}
	if (c1=='?') {
	    mime_decode_mode = 'Q'; /* still in MIME */
	    (*i_mungetc)(c2,f);
	    return c1;
	}
	if ((c3 = (*i_mgetc)(f)) == EOF) return (EOF);
	if (c2<=SP) return c2;
	mime_decode_mode = 'Q'; /* still in MIME */
	return ((hex2bin(c2)<<4) + hex2bin(c3));
    }

    if (mime_decode_mode != 'B') {
	mime_decode_mode = FALSE;
	return (*i_mgetc)(f);
    }


    /* Base64 encoding */
    /*
       MIME allows line break in the middle of
       Base64, but we are very pessimistic in decoding
       in unbuf mode because MIME encoded code may broken by
       less or editor's control sequence (such as ESC-[-K in unbuffered
       mode. ignore incomplete MIME.
     */
    mode = mime_decode_mode;
    mime_decode_mode = exit_mode;  /* prepare for quit */

    while ((c1 = (*i_mgetc)(f))<=SP) {
	if (c1==EOF)
	    return (EOF);
    }
  mime_c2_retry:
    if ((c2 = (*i_mgetc)(f))<=SP) {
	if (c2==EOF)
	    return (EOF);
	if (mime_f != STRICT_MIME) goto mime_c2_retry;
	if (mimebuf_f!=FIXED_MIME) input_mode = ASCII;
	return c2;
    }
    if ((c1 == '?') && (c2 == '=')) {
	input_mode = ASCII;
	lwsp_count = 0;
	lwsp_buf = nkf_xmalloc((lwsp_size+5)*sizeof(char));
	while ((c1=(*i_getc)(f))!=EOF) {
	    switch (c1) {
	    case LF:
	    case CR:
		if (c1==LF) {
		    if ((c1=(*i_getc)(f))!=EOF && nkf_isblank(c1)) {
			i_ungetc(SP,f);
			continue;
		    } else {
			i_ungetc(c1,f);
		    }
		    c1 = LF;
		} else {
		    if ((c1=(*i_getc)(f))!=EOF) {
			if (c1==SP) {
			    i_ungetc(SP,f);
			    continue;
			} else if ((c1=(*i_getc)(f))!=EOF && nkf_isblank(c1)) {
			    i_ungetc(SP,f);
			    continue;
			} else {
			    i_ungetc(c1,f);
			}
			i_ungetc(LF,f);
		    } else {
			i_ungetc(c1,f);
		    }
		    c1 = CR;
		}
		break;
	    case SP:
	    case TAB:
		lwsp_buf[lwsp_count] = (unsigned char)c1;
		if (lwsp_count++>lwsp_size){
		    lwsp_size <<= 1;
		    lwsp_buf_new = nkf_xrealloc(lwsp_buf, (lwsp_size+5)*sizeof(char));
		    lwsp_buf = lwsp_buf_new;
		}
		continue;
	    }
	    break;
	}
	if (lwsp_count > 0 && (c1 != '=' || (lwsp_buf[lwsp_count-1] != SP && lwsp_buf[lwsp_count-1] != TAB))) {
	    i_ungetc(c1,f);
	    for(lwsp_count--;lwsp_count>0;lwsp_count--)
		i_ungetc(lwsp_buf[lwsp_count],f);
	    c1 = lwsp_buf[0];
	}
	nkf_xfree(lwsp_buf);
	return c1;
    }
  mime_c3_retry:
    if ((c3 = (*i_mgetc)(f))<=SP) {
	if (c3==EOF)
	    return (EOF);
	if (mime_f != STRICT_MIME) goto mime_c3_retry;
	if (mimebuf_f!=FIXED_MIME) input_mode = ASCII;
	return c3;
    }
  mime_c4_retry:
    if ((c4 = (*i_mgetc)(f))<=SP) {
	if (c4==EOF)
	    return (EOF);
	if (mime_f != STRICT_MIME) goto mime_c4_retry;
	if (mimebuf_f!=FIXED_MIME) input_mode = ASCII;
	return c4;
    }

    mime_decode_mode = mode; /* still in MIME sigh... */

    /* BASE 64 decoding */

    t1 = 0x3f & base64decode(c1);
    t2 = 0x3f & base64decode(c2);
    t3 = 0x3f & base64decode(c3);
    t4 = 0x3f & base64decode(c4);
    cc = ((t1 << 2) & 0x0fc) | ((t2 >> 4) & 0x03);
    if (c2 != '=') {
	mime_input_buf(mime_input_state.last++) = (unsigned char)cc;
	cc = ((t2 << 4) & 0x0f0) | ((t3 >> 2) & 0x0f);
	if (c3 != '=') {
	    mime_input_buf(mime_input_state.last++) = (unsigned char)cc;
	    cc = ((t3 << 6) & 0x0c0) | (t4 & 0x3f);
	    if (c4 != '=')
		mime_input_buf(mime_input_state.last++) = (unsigned char)cc;
	}
    } else {
	return c1;
    }
    return  mime_input_buf(mime_input_state.top++);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl 0x412ec(%rip), %eax     # 0x55a08
cmpl 0x412ea(%rip), %eax     # 0x55a0c
jne 0x1476a
movq %rdi, %rbx
movl 0x40e53(%rip), %eax     # 0x55580
cmpl $0x1, %eax
ja 0x14796
movl $0x0, 0x40e44(%rip)     # 0x55580
cmpl $0x8, 0x38b5d(%rip)     # 0x4d2a0
jne 0x1487f
movq 0x38c10(%rip), %rax     # 0x4d360
movq %rax, 0x38bf9(%rip)     # 0x4d350
movq 0x38c0a(%rip), %rcx     # 0x4d368
movq %rcx, 0x38bf3(%rip)     # 0x4d358
jmp 0x1488d
leal 0x1(%rax), %ecx
movl %ecx, 0x41295(%rip)     # 0x55a08
leaq 0x40e8e(%rip), %rcx     # 0x55608
andl $0x3ff, %eax            # imm = 0x3FF
movzbl (%rax,%rcx), %r14d
movl %r14d, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %ebp, %ebp
cmpl $0x7, 0x40de5(%rip)     # 0x55584
cmovel %eax, %ebp
cmpl $0x42, %eax
je 0x148d3
cmpl $0x51, %eax
jne 0x14a11
movq %rbx, %rdi
callq *0x38b93(%rip)          # 0x4d350
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
cmpl $-0x1, %eax
je 0x14784
movl %eax, %r15d
cmpl $0x5f, %r15d
sete %cl
movl 0x40dac(%rip), %eax     # 0x55584
cmpl $0x7, %eax
setne %dl
testb %dl, %cl
jne 0x14abe
leal -0x7f(%r15), %ecx
cmpl $-0x5f, %ecx
jbe 0x14ae4
cmpl $0x3d, %r15d
je 0x1480c
cmpl $0x3f, %r15d
jne 0x14adc
cmpl $0x7, %eax
je 0x14adc
movl %ebp, 0x40d6e(%rip)     # 0x55580
movq %rbx, %rdi
callq *0x38b35(%rip)          # 0x4d350
cmpl $-0x1, %eax
je 0x14784
movl %eax, %r12d
cmpl $0x3f, %r15d
jne 0x14840
cmpl $0x3d, %r12d
jne 0x14840
cmpl $0x7, 0x40d4a(%rip)     # 0x55584
jne 0x14aec
cmpl $0x3d, %r15d
jne 0x14bc1
cmpl $0x1f, %r12d
jg 0x14bc1
movq %rbx, %rdi
callq *0x38af3(%rip)          # 0x4d350
movl %eax, %r15d
cmpl $0x20, %eax
jg 0x14870
cmpl $-0x1, %r15d
jne 0x14854
jmp 0x14784
movl $0x51, 0x40d06(%rip)    # 0x55580
jmp 0x147cb
movq 0x38aca(%rip), %rax     # 0x4d350
movq 0x38acb(%rip), %rcx     # 0x4d358
movq %rax, 0x38a94(%rip)     # 0x4d328
movq %rcx, 0x38a95(%rip)     # 0x4d330
movq 0x41176(%rip), %rsi     # 0x55a18
testq %rsi, %rsi
je 0x148b5
xorl %edi, %edi
callq 0x11c09
movq 0x38a73(%rip), %rax     # 0x4d328
movq $0x0, 0x41158(%rip) # 0x55a18
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmpq *%rax
movl %ebp, 0x40ca7(%rip)     # 0x55580
movq %rbx, %rdi
callq *0x38a6e(%rip)          # 0x4d350
movl %eax, %r14d
cmpl $0x21, %eax
jge 0x1490e
cmpl $-0x1, %r14d
jne 0x148d9
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
jmp 0x14784
cmpl $-0x1, %r15d
je 0x148f0
cmpl $0x8, 0x38998(%rip)     # 0x4d2a0
je 0x14ac9
movq %rbx, %rdi
callq *0x38a39(%rip)          # 0x4d350
movl %eax, %r15d
cmpl $0x20, %eax
jle 0x148fb
movl %r14d, %eax
xorl $0x3f, %eax
movl %r15d, %ecx
xorl $0x3d, %ecx
orl %eax, %ecx
jne 0x14a32
movl $0x0, 0x40cbb(%rip)     # 0x555f8
movl $0x85, %edi
callq 0x10f16
movq %rax, %r15
movl $0x80, %r14d
xorl %ebp, %ebp
movslq %r14d, %r13
movq %rbp, %r12
movq %rbx, %rdi
callq *0x389c7(%rip)          # 0x4d328
movl %eax, %ebp
cmpl $0xc, %eax
jg 0x14985
cmpl $0xa, %ebp
jne 0x149c8
movq %rbx, %rdi
callq *0x389b2(%rip)          # 0x4d328
cmpl $0x20, %eax
je 0x149b8
cmpl $0x9, %eax
je 0x149b8
jmp 0x14c17
cmpl $0xd, %ebp
jne 0x149d2
movq %rbx, %rdi
callq *0x38995(%rip)          # 0x4d328
cmpl $0x20, %eax
je 0x149b8
cmpl $-0x1, %eax
je 0x14c17
movq %rbx, %rdi
callq *0x3897e(%rip)          # 0x4d328
cmpl $0x9, %eax
je 0x149b8
cmpl $0x20, %eax
jne 0x14c07
movl $0x20, %edi
movq %rbx, %rsi
callq *0x3896a(%rip)          # 0x4d330
jmp 0x14958
cmpl $0x9, %ebp
je 0x149db
jmp 0x14c22
cmpl $0x20, %ebp
jne 0x14c22
movb %bpl, (%r15,%r12)
leaq 0x1(%r12), %rbp
cmpq %r13, %r12
jle 0x14955
movl %r14d, %r12d
addl %r14d, %r12d
leal 0x5(,%r14,2), %eax
movslq %eax, %rsi
movq %r15, %rdi
callq 0x155ff
movq %rax, %r15
movl %r12d, %r14d
jmp 0x14952
movl $0x0, 0x40b65(%rip)     # 0x55580
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmpq *0x3891e(%rip)          # 0x4d350
movq %rbx, %rdi
callq *0x38915(%rip)          # 0x4d350
movl %eax, %r12d
cmpl $0x21, %eax
jge 0x14a87
cmpl $-0x1, %r12d
je 0x148f0
cmpl $0x8, 0x3884c(%rip)     # 0x4d2a0
jne 0x14a32
cmpl $0x7, 0x40b27(%rip)     # 0x55584
je 0x14a69
movl $0x0, 0x40b8f(%rip)     # 0x555f8
movl %r12d, %r14d
jmp 0x14784
cmpl $-0x1, %eax
je 0x148f0
cmpl $0x8, 0x3881f(%rip)     # 0x4d2a0
je 0x14bec
movq %rbx, %rdi
callq *0x388c0(%rip)          # 0x4d350
cmpl $0x20, %eax
jle 0x14a71
movl $0x42, 0x40ae1(%rip)    # 0x55580
cmpl $0x41, %r14d
jl 0x14ce0
cmpl $0x5a, %r14d
ja 0x14cee
movl %r14d, %ecx
addl $-0x41, %ecx
jmp 0x14d14
movl $0x20, %r14d
jmp 0x14784
cmpl $0x7, 0x40ab4(%rip)     # 0x55584
je 0x14adc
movl $0x0, 0x40b1c(%rip)     # 0x555f8
movl %r15d, %r14d
jmp 0x14784
movl %ebp, 0x40a96(%rip)     # 0x55580
jmp 0x14adc
movl %ebp, 0x40b06(%rip)     # 0x555f8
movl $0x85, %edi
callq 0x10f16
movq %rax, %r15
movl $0x80, %r14d
xorl %ebp, %ebp
movslq %r14d, %r13
movq %rbp, %r12
movq %rbx, %rdi
callq *0x38812(%rip)          # 0x4d328
movl %eax, %ebp
cmpl $0xc, %eax
jg 0x14b3a
cmpl $0xa, %ebp
jne 0x14b82
movq %rbx, %rdi
callq *0x387fd(%rip)          # 0x4d328
cmpl $0x20, %eax
je 0x14b68
cmpl $0x9, %eax
je 0x14b68
jmp 0x14e8a
cmpl $0xd, %ebp
jne 0x14b78
movq %rbx, %rdi
callq *0x387e0(%rip)          # 0x4d328
cmpl $0xa, %eax
jne 0x14e8a
movq %rbx, %rdi
callq *0x387ce(%rip)          # 0x4d328
cmpl $0x9, %eax
je 0x14b68
cmpl $0x20, %eax
jne 0x14e7a
movl $0x20, %edi
movq %rbx, %rsi
callq *0x387ba(%rip)          # 0x4d330
jmp 0x14b0d
cmpl $0x20, %ebp
je 0x14b8b
jmp 0x14e95
cmpl $0x9, %ebp
jne 0x14e95
movb %bpl, (%r15,%r12)
leaq 0x1(%r12), %rbp
cmpq %r13, %r12
jle 0x14b0a
movl %r14d, %r12d
addl %r14d, %r12d
leal 0x5(,%r14,2), %eax
movslq %eax, %rsi
movq %r15, %rdi
callq 0x155ff
movq %rax, %r15
movl %r12d, %r14d
jmp 0x14b07
cmpl $0x3f, %r15d
jne 0x14c8f
movl $0x51, 0x409ab(%rip)    # 0x55580
movl %r12d, %edi
movq %rbx, %rsi
callq *0x38777(%rip)          # 0x4d358
movl $0x3f, %r14d
jmp 0x14784
cmpl $0x7, 0x40991(%rip)     # 0x55584
je 0x14bff
movl $0x0, 0x409f9(%rip)     # 0x555f8
movl %eax, %r14d
jmp 0x14784
movl %eax, %edi
movq %rbx, %rsi
callq *0x3871e(%rip)          # 0x4d330
movl $0xa, %eax
movl %eax, %edi
movq %rbx, %rsi
callq *0x3870e(%rip)          # 0x4d330
testl %r12d, %r12d
je 0x14ef6
cmpl $0x3d, %ebp
jne 0x14c57
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r12d, %ecx
addl %eax, %ecx
movzbl (%r15,%rcx), %eax
movl $0x3d, %r14d
cmpl $0x9, %eax
je 0x14ef9
cmpl $0x20, %eax
je 0x14ef9
movl %ebp, %edi
movq %rbx, %rsi
callq *0x386ce(%rip)          # 0x4d330
cmpl $0x1, %r12d
je 0x14c86
movl %r12d, %r14d
incq %r14
movsbl -0x2(%r15,%r14), %edi
movq %rbx, %rsi
callq *0x386b3(%rip)          # 0x4d330
decq %r14
cmpq $0x2, %r14
ja 0x14c6e
movsbl (%r15), %r14d
jmp 0x14ef9
movq %rbx, %rdi
callq *0x386b8(%rip)          # 0x4d350
cmpl $-0x1, %eax
je 0x14784
movl %r12d, %r14d
cmpl $0x21, %r12d
jl 0x14784
movl $0x51, 0x408c8(%rip)    # 0x55580
leal -0x30(%r12), %ecx
cmpl $0xa, %ecx
jb 0x14f18
leal -0x41(%r12), %ecx
cmpl $0x5, %ecx
ja 0x14f06
addl $-0x37, %r12d
movl %r12d, %ecx
jmp 0x14f18
cmpl $0x30, %r14d
jl 0x14d00
movl %r14d, %ecx
addl $0x4, %ecx
jmp 0x14d14
leal -0x47(%r14), %edx
cmpl $0x5f, %r14d
movl $0x3f, %ecx
cmovnel %edx, %ecx
jmp 0x14d14
movl %r14d, %ecx
addl $-0x2b, %ecx
andl $-0x3, %ecx
cmpl $0x1, %ecx
movl $0x3f, %ecx
sbbl $0x0, %ecx
cmpl $0x41, %r15d
jl 0x14d26
cmpl $0x5a, %r15d
ja 0x14d32
leal -0x41(%r15), %edx
jmp 0x14d56
cmpl $0x30, %r15d
jl 0x14d44
leal 0x4(%r15), %edx
jmp 0x14d56
leal -0x47(%r15), %esi
cmpl $0x5f, %r15d
movl $0x3f, %edx
cmovnel %esi, %edx
jmp 0x14d56
leal -0x2b(%r15), %edx
andl $-0x3, %edx
cmpl $0x1, %edx
movl $0x3f, %edx
sbbl $0x0, %edx
cmpl $0x41, %r12d
jl 0x14d69
cmpl $0x5a, %r12d
ja 0x14d76
leal -0x41(%r12), %esi
jmp 0x14d9c
cmpl $0x30, %r12d
jl 0x14d89
leal 0x4(%r12), %esi
jmp 0x14d9c
leal -0x47(%r12), %edi
cmpl $0x5f, %r12d
movl $0x3f, %esi
cmovnel %edi, %esi
jmp 0x14d9c
leal -0x2b(%r12), %esi
andl $-0x3, %esi
cmpl $0x1, %esi
movl $0x3f, %esi
sbbl $0x0, %esi
cmpl $0x41, %eax
jb 0x14dab
cmpl $0x5a, %eax
ja 0x14db5
leal -0x41(%rax), %edi
jmp 0x14dd8
cmpl $0x30, %eax
jb 0x14dc7
leal 0x4(%rax), %edi
jmp 0x14dd8
leal -0x47(%rax), %r8d
cmpl $0x5f, %eax
movl $0x3f, %edi
cmovnel %r8d, %edi
jmp 0x14dd8
leal -0x2b(%rax), %edi
andl $-0x3, %edi
cmpl $0x1, %edi
movl $0x3f, %edi
sbbl $0x0, %edi
cmpl $0x3d, %r15d
je 0x14784
movl %edx, %r8d
shrl $0x4, %r8d
andl $0x3, %r8d
leal (%r8,%rcx,4), %r10d
movl 0x40c14(%rip), %r8d     # 0x55a0c
leaq 0x40809(%rip), %rcx     # 0x55608
leal 0x1(%r8), %r9d
movl %r9d, 0x40c02(%rip)     # 0x55a0c
movl %r8d, %r11d
andl $0x3ff, %r11d           # imm = 0x3FF
movb %r10b, (%r11,%rcx)
cmpl $0x3d, %r12d
je 0x14e66
shll $0x4, %edx
movl %esi, %r10d
shrl $0x2, %r10d
andl $0xf, %r10d
orl %edx, %r10d
leal 0x2(%r8), %edx
movl %edx, 0x40bd3(%rip)     # 0x55a0c
andl $0x3ff, %r9d            # imm = 0x3FF
movb %r10b, (%r9,%rcx)
cmpl $0x3d, %eax
je 0x14e66
andl $0x3f, %edi
shll $0x6, %esi
orl %edi, %esi
addl $0x3, %r8d
movl %r8d, 0x40bb0(%rip)     # 0x55a0c
andl $0x3ff, %edx            # imm = 0x3FF
movb %sil, (%rdx,%rcx)
movl 0x40b9c(%rip), %eax     # 0x55a08
leal 0x1(%rax), %edx
movl %edx, 0x40b93(%rip)     # 0x55a08
jmp 0x1477a
movl %eax, %edi
movq %rbx, %rsi
callq *0x384ab(%rip)          # 0x4d330
movl $0xa, %eax
movl %eax, %edi
movq %rbx, %rsi
callq *0x3849b(%rip)          # 0x4d330
testl %r12d, %r12d
je 0x14ef6
cmpl $0x3d, %ebp
jne 0x14ebe
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r12d, %ecx
addl %eax, %ecx
movzbl (%r15,%rcx), %eax
movl $0x3d, %r14d
cmpl $0x9, %eax
je 0x14ef9
cmpl $0x20, %eax
je 0x14ef9
movl %ebp, %edi
movq %rbx, %rsi
callq *0x38467(%rip)          # 0x4d330
cmpl $0x1, %r12d
je 0x14c86
movl %r12d, %r14d
incq %r14
movsbl -0x2(%r15,%r14), %edi
movq %rbx, %rsi
callq *0x38448(%rip)          # 0x4d330
decq %r14
cmpq $0x2, %r14
ja 0x14ed9
jmp 0x14c86
movl %ebp, %r14d
movq %r15, %rdi
callq 0xc040
jmp 0x14784
leal -0x61(%r12), %edx
addl $-0x57, %r12d
xorl %ecx, %ecx
cmpl $0x6, %edx
cmovbl %r12d, %ecx
shll $0x4, %ecx
leal -0x30(%rax), %r14d
cmpl $0xa, %r14d
jb 0x14f45
leal -0x41(%rax), %edx
cmpl $0x5, %edx
ja 0x14f35
addl $-0x37, %eax
movl %eax, %r14d
jmp 0x14f45
leal -0x61(%rax), %edx
addl $-0x57, %eax
xorl %r14d, %r14d
cmpl $0x6, %edx
cmovbl %eax, %r14d
addl %ecx, %r14d
jmp 0x14784