// File: /workspace/github_c_makefile_star2_O1/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 0x41380(%rip), %eax     # 0x55a08
cmpl 0x4137e(%rip), %eax     # 0x55a0c
jne 0x14726
movq %rdi, %rbx
movl 0x40ee3(%rip), %eax     # 0x55580
cmpl $0x1, %eax
ja 0x14752
movl $0x0, 0x40ed0(%rip)     # 0x55580
cmpl $0x8, 0x38be9(%rip)     # 0x4d2a0
jne 0x146d5
movq 0x38ca0(%rip), %rax     # 0x4d360
movq %rax, 0x38c89(%rip)     # 0x4d350
movq 0x38c9a(%rip), %rax     # 0x4d368
movq %rax, 0x38c83(%rip)     # 0x4d358
movq 0x38c74(%rip), %rax     # 0x4d350
movq %rax, 0x38c45(%rip)     # 0x4d328
movq 0x38c6e(%rip), %rax     # 0x4d358
movq %rax, 0x38c3f(%rip)     # 0x4d330
movq 0x41320(%rip), %rsi     # 0x55a18
testq %rsi, %rsi
je 0x14704
xorl %edi, %edi
callq 0x11bad
movq $0x0, 0x41309(%rip) # 0x55a18
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmpq *0x38c02(%rip)          # 0x4d328
leal 0x1(%rax), %ecx
movl %ecx, 0x412d9(%rip)     # 0x55a08
leaq 0x40ed2(%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, 0x40e29(%rip)     # 0x55584
cmovel %eax, %ebp
cmpl $0x42, %eax
je 0x1483b
cmpl $0x51, %eax
jne 0x14979
movq %rbx, %rdi
callq *0x38bd7(%rip)          # 0x4d350
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
cmpl $-0x1, %eax
je 0x14740
movl %eax, %r15d
cmpl $0x5f, %r15d
sete %cl
movl 0x40df0(%rip), %eax     # 0x55584
cmpl $0x7, %eax
setne %dl
testb %dl, %cl
jne 0x14a26
leal -0x7f(%r15), %ecx
cmpl $-0x5f, %ecx
jbe 0x14a4c
cmpl $0x3d, %r15d
je 0x147c8
cmpl $0x3f, %r15d
jne 0x14a44
cmpl $0x7, %eax
je 0x14a44
movl %ebp, 0x40db2(%rip)     # 0x55580
movq %rbx, %rdi
callq *0x38b79(%rip)          # 0x4d350
cmpl $-0x1, %eax
je 0x14740
movl %eax, %r12d
cmpl $0x3f, %r15d
jne 0x147fc
cmpl $0x3d, %r12d
jne 0x147fc
cmpl $0x7, 0x40d8e(%rip)     # 0x55584
jne 0x14a54
cmpl $0x3d, %r15d
jne 0x14b29
cmpl $0x1f, %r12d
jg 0x14b29
movq %rbx, %rdi
callq *0x38b37(%rip)          # 0x4d350
movl %eax, %r15d
cmpl $0x20, %eax
jg 0x1482c
cmpl $-0x1, %r15d
jne 0x14810
jmp 0x14740
movl $0x51, 0x40d4a(%rip)    # 0x55580
jmp 0x14787
movl %ebp, 0x40d3f(%rip)     # 0x55580
movq %rbx, %rdi
callq *0x38b06(%rip)          # 0x4d350
movl %eax, %r14d
cmpl $0x21, %eax
jge 0x14876
cmpl $-0x1, %r14d
jne 0x14841
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
jmp 0x14740
cmpl $-0x1, %r15d
je 0x14858
cmpl $0x8, 0x38a30(%rip)     # 0x4d2a0
je 0x14a31
movq %rbx, %rdi
callq *0x38ad1(%rip)          # 0x4d350
movl %eax, %r15d
cmpl $0x20, %eax
jle 0x14863
movl %r14d, %eax
xorl $0x3f, %eax
movl %r15d, %ecx
xorl $0x3d, %ecx
orl %eax, %ecx
jne 0x1499a
movl $0x0, 0x40d53(%rip)     # 0x555f8
movl $0x85, %edi
callq 0x10f26
movq %rax, %r15
movl $0x80, %r14d
xorl %ebp, %ebp
movslq %r14d, %r13
movq %rbp, %r12
movq %rbx, %rdi
callq *0x38a5f(%rip)          # 0x4d328
movl %eax, %ebp
cmpl $0xc, %eax
jg 0x148ed
cmpl $0xa, %ebp
jne 0x14930
movq %rbx, %rdi
callq *0x38a4a(%rip)          # 0x4d328
cmpl $0x20, %eax
je 0x14920
cmpl $0x9, %eax
je 0x14920
jmp 0x14b7f
cmpl $0xd, %ebp
jne 0x1493a
movq %rbx, %rdi
callq *0x38a2d(%rip)          # 0x4d328
cmpl $0x20, %eax
je 0x14920
cmpl $-0x1, %eax
je 0x14b7f
movq %rbx, %rdi
callq *0x38a16(%rip)          # 0x4d328
cmpl $0x9, %eax
je 0x14920
cmpl $0x20, %eax
jne 0x14b6f
movl $0x20, %edi
movq %rbx, %rsi
callq *0x38a02(%rip)          # 0x4d330
jmp 0x148c0
cmpl $0x9, %ebp
je 0x14943
jmp 0x14b8a
cmpl $0x20, %ebp
jne 0x14b8a
movb %bpl, (%r15,%r12)
leaq 0x1(%r12), %rbp
cmpq %r13, %r12
jle 0x148bd
movl %r14d, %r12d
addl %r14d, %r12d
leal 0x5(,%r14,2), %eax
movslq %eax, %rsi
movq %r15, %rdi
callq 0x155b9
movq %rax, %r15
movl %r12d, %r14d
jmp 0x148ba
movl $0x0, 0x40bfd(%rip)     # 0x55580
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmpq *0x389b6(%rip)          # 0x4d350
movq %rbx, %rdi
callq *0x389ad(%rip)          # 0x4d350
movl %eax, %r12d
cmpl $0x21, %eax
jge 0x149ef
cmpl $-0x1, %r12d
je 0x14858
cmpl $0x8, 0x388e4(%rip)     # 0x4d2a0
jne 0x1499a
cmpl $0x7, 0x40bbf(%rip)     # 0x55584
je 0x149d1
movl $0x0, 0x40c27(%rip)     # 0x555f8
movl %r12d, %r14d
jmp 0x14740
cmpl $-0x1, %eax
je 0x14858
cmpl $0x8, 0x388b7(%rip)     # 0x4d2a0
je 0x14b54
movq %rbx, %rdi
callq *0x38958(%rip)          # 0x4d350
cmpl $0x20, %eax
jle 0x149d9
movl $0x42, 0x40b79(%rip)    # 0x55580
cmpl $0x41, %r14d
jl 0x14c48
cmpl $0x5a, %r14d
jg 0x14c56
movl %r14d, %ecx
addl $-0x41, %ecx
jmp 0x14c7c
movl $0x20, %r14d
jmp 0x14740
cmpl $0x7, 0x40b4c(%rip)     # 0x55584
je 0x14a44
movl $0x0, 0x40bb4(%rip)     # 0x555f8
movl %r15d, %r14d
jmp 0x14740
movl %ebp, 0x40b2e(%rip)     # 0x55580
jmp 0x14a44
movl %ebp, 0x40b9e(%rip)     # 0x555f8
movl $0x85, %edi
callq 0x10f26
movq %rax, %r15
movl $0x80, %r14d
xorl %ebp, %ebp
movslq %r14d, %r13
movq %rbp, %r12
movq %rbx, %rdi
callq *0x388aa(%rip)          # 0x4d328
movl %eax, %ebp
cmpl $0xc, %eax
jg 0x14aa2
cmpl $0xa, %ebp
jne 0x14aea
movq %rbx, %rdi
callq *0x38895(%rip)          # 0x4d328
cmpl $0x20, %eax
je 0x14ad0
cmpl $0x9, %eax
je 0x14ad0
jmp 0x14df2
cmpl $0xd, %ebp
jne 0x14ae0
movq %rbx, %rdi
callq *0x38878(%rip)          # 0x4d328
cmpl $0xa, %eax
jne 0x14df2
movq %rbx, %rdi
callq *0x38866(%rip)          # 0x4d328
cmpl $0x9, %eax
je 0x14ad0
cmpl $0x20, %eax
jne 0x14de2
movl $0x20, %edi
movq %rbx, %rsi
callq *0x38852(%rip)          # 0x4d330
jmp 0x14a75
cmpl $0x20, %ebp
je 0x14af3
jmp 0x14dfd
cmpl $0x9, %ebp
jne 0x14dfd
movb %bpl, (%r15,%r12)
leaq 0x1(%r12), %rbp
cmpq %r13, %r12
jle 0x14a72
movl %r14d, %r12d
addl %r14d, %r12d
leal 0x5(,%r14,2), %eax
movslq %eax, %rsi
movq %r15, %rdi
callq 0x155b9
movq %rax, %r15
movl %r12d, %r14d
jmp 0x14a6f
cmpl $0x3f, %r15d
jne 0x14bf7
movl $0x51, 0x40a43(%rip)    # 0x55580
movl %r12d, %edi
movq %rbx, %rsi
callq *0x3880f(%rip)          # 0x4d358
movl $0x3f, %r14d
jmp 0x14740
cmpl $0x7, 0x40a29(%rip)     # 0x55584
je 0x14b67
movl $0x0, 0x40a91(%rip)     # 0x555f8
movl %eax, %r14d
jmp 0x14740
movl %eax, %edi
movq %rbx, %rsi
callq *0x387b6(%rip)          # 0x4d330
movl $0xa, %eax
movl %eax, %edi
movq %rbx, %rsi
callq *0x387a6(%rip)          # 0x4d330
testl %r12d, %r12d
je 0x14e5e
cmpl $0x3d, %ebp
jne 0x14bbf
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r12d, %ecx
addl %eax, %ecx
movzbl (%r15,%rcx), %eax
movl $0x3d, %r14d
cmpl $0x9, %eax
je 0x14e61
cmpl $0x20, %eax
je 0x14e61
movl %ebp, %edi
movq %rbx, %rsi
callq *0x38766(%rip)          # 0x4d330
cmpl $0x1, %r12d
je 0x14bee
movl %r12d, %r14d
incq %r14
movsbl -0x2(%r15,%r14), %edi
movq %rbx, %rsi
callq *0x3874b(%rip)          # 0x4d330
decq %r14
cmpq $0x2, %r14
jg 0x14bd6
movsbl (%r15), %r14d
jmp 0x14e61
movq %rbx, %rdi
callq *0x38750(%rip)          # 0x4d350
cmpl $-0x1, %eax
je 0x14740
movl %r12d, %r14d
cmpl $0x21, %r12d
jl 0x14740
movl $0x51, 0x40960(%rip)    # 0x55580
leal -0x30(%r12), %ecx
cmpl $0xa, %ecx
jb 0x14e80
leal -0x41(%r12), %ecx
cmpl $0x5, %ecx
ja 0x14e6e
addl $-0x37, %r12d
movl %r12d, %ecx
jmp 0x14e80
cmpl $0x30, %r14d
jl 0x14c68
movl %r14d, %ecx
addl $0x4, %ecx
jmp 0x14c7c
leal -0x47(%r14), %edx
cmpl $0x5f, %r14d
movl $0x3f, %ecx
cmovnel %edx, %ecx
jmp 0x14c7c
movl %r14d, %ecx
addl $-0x2b, %ecx
andl $-0x3, %ecx
cmpl $0x1, %ecx
movl $0x3f, %ecx
sbbl $0x0, %ecx
cmpl $0x41, %r15d
jl 0x14c8e
cmpl $0x5a, %r15d
jg 0x14c9a
leal -0x41(%r15), %edx
jmp 0x14cbe
cmpl $0x30, %r15d
jl 0x14cac
leal 0x4(%r15), %edx
jmp 0x14cbe
leal -0x47(%r15), %esi
cmpl $0x5f, %r15d
movl $0x3f, %edx
cmovnel %esi, %edx
jmp 0x14cbe
leal -0x2b(%r15), %edx
andl $-0x3, %edx
cmpl $0x1, %edx
movl $0x3f, %edx
sbbl $0x0, %edx
cmpl $0x41, %r12d
jl 0x14cd1
cmpl $0x5a, %r12d
jg 0x14cde
leal -0x41(%r12), %esi
jmp 0x14d04
cmpl $0x30, %r12d
jl 0x14cf1
leal 0x4(%r12), %esi
jmp 0x14d04
leal -0x47(%r12), %edi
cmpl $0x5f, %r12d
movl $0x3f, %esi
cmovnel %edi, %esi
jmp 0x14d04
leal -0x2b(%r12), %esi
andl $-0x3, %esi
cmpl $0x1, %esi
movl $0x3f, %esi
sbbl $0x0, %esi
cmpl $0x41, %eax
jl 0x14d13
cmpl $0x5a, %eax
jg 0x14d1d
leal -0x41(%rax), %edi
jmp 0x14d40
cmpl $0x30, %eax
jl 0x14d2f
leal 0x4(%rax), %edi
jmp 0x14d40
leal -0x47(%rax), %r8d
cmpl $0x5f, %eax
movl $0x3f, %edi
cmovnel %r8d, %edi
jmp 0x14d40
leal -0x2b(%rax), %edi
andl $-0x3, %edi
cmpl $0x1, %edi
movl $0x3f, %edi
sbbl $0x0, %edi
cmpl $0x3d, %r15d
je 0x14740
movl %edx, %r8d
shrl $0x4, %r8d
andl $0x3, %r8d
leal (%r8,%rcx,4), %r10d
movl 0x40cac(%rip), %r8d     # 0x55a0c
leaq 0x408a1(%rip), %rcx     # 0x55608
leal 0x1(%r8), %r9d
movl %r9d, 0x40c9a(%rip)     # 0x55a0c
movl %r8d, %r11d
andl $0x3ff, %r11d           # imm = 0x3FF
movb %r10b, (%r11,%rcx)
cmpl $0x3d, %r12d
je 0x14dce
shll $0x4, %edx
movl %esi, %r10d
shrl $0x2, %r10d
andl $0xf, %r10d
orl %edx, %r10d
leal 0x2(%r8), %edx
movl %edx, 0x40c6b(%rip)     # 0x55a0c
andl $0x3ff, %r9d            # imm = 0x3FF
movb %r10b, (%r9,%rcx)
cmpl $0x3d, %eax
je 0x14dce
andl $0x3f, %edi
shll $0x6, %esi
orl %edi, %esi
addl $0x3, %r8d
movl %r8d, 0x40c48(%rip)     # 0x55a0c
andl $0x3ff, %edx            # imm = 0x3FF
movb %sil, (%rdx,%rcx)
movl 0x40c34(%rip), %eax     # 0x55a08
leal 0x1(%rax), %edx
movl %edx, 0x40c2b(%rip)     # 0x55a08
jmp 0x14736
movl %eax, %edi
movq %rbx, %rsi
callq *0x38543(%rip)          # 0x4d330
movl $0xa, %eax
movl %eax, %edi
movq %rbx, %rsi
callq *0x38533(%rip)          # 0x4d330
testl %r12d, %r12d
je 0x14e5e
cmpl $0x3d, %ebp
jne 0x14e26
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r12d, %ecx
addl %eax, %ecx
movzbl (%r15,%rcx), %eax
movl $0x3d, %r14d
cmpl $0x9, %eax
je 0x14e61
cmpl $0x20, %eax
je 0x14e61
movl %ebp, %edi
movq %rbx, %rsi
callq *0x384ff(%rip)          # 0x4d330
cmpl $0x1, %r12d
je 0x14bee
movl %r12d, %r14d
incq %r14
movsbl -0x2(%r15,%r14), %edi
movq %rbx, %rsi
callq *0x384e0(%rip)          # 0x4d330
decq %r14
cmpq $0x2, %r14
jg 0x14e41
jmp 0x14bee
movl %ebp, %r14d
movq %r15, %rdi
callq 0xc040
jmp 0x14740
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 0x14ead
leal -0x41(%rax), %edx
cmpl $0x5, %edx
ja 0x14e9d
addl $-0x37, %eax
movl %eax, %r14d
jmp 0x14ead
leal -0x61(%rax), %edx
addl $-0x57, %eax
xorl %r14d, %r14d
cmpl $0x6, %edx
cmovbl %eax, %r14d
addl %ecx, %r14d
jmp 0x14740