// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movl $0x80, -0x54(%rbp)
movl 0x43250(%rip), %eax     # 0x5aa6c
cmpl 0x4324e(%rip), %eax     # 0x5aa70
je 0x17851
movl 0x43242(%rip), %eax     # 0x5aa6c
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x43237(%rip)     # 0x5aa6c
andl $0x3ff, %eax            # imm = 0x3FF
movl %eax, %eax
movl %eax, %ecx
leaq 0x42e27(%rip), %rax     # 0x5a66c
movzbl (%rax,%rcx), %eax
movl %eax, -0x4(%rbp)
jmp 0x18266
cmpl $0x1, 0x42d88(%rip)     # 0x5a5e0
je 0x17863
cmpl $0x0, 0x42d7f(%rip)     # 0x5a5e0
jne 0x17887
movl $0x0, 0x42d73(%rip)     # 0x5a5e0
callq 0x18fb0
movq 0x3aa8f(%rip), %rax     # 0x52308
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x4(%rbp)
jmp 0x18266
cmpl $0x7, 0x42d56(%rip)     # 0x5a5e4
jne 0x1789b
movl 0x42d4a(%rip), %eax     # 0x5a5e0
movl %eax, -0x3c(%rbp)
jmp 0x178a2
movl $0x0, -0x3c(%rbp)
cmpl $0x51, 0x42d37(%rip)    # 0x5a5e0
jne 0x17d4f
movq 0x3aa7a(%rip), %rax     # 0x52330
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
jne 0x178d0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x18266
jmp 0x178d2
cmpl $0x5f, -0x14(%rbp)
jne 0x178ed
cmpl $0x7, 0x42d05(%rip)     # 0x5a5e4
je 0x178ed
movl $0x20, -0x4(%rbp)
jmp 0x18266
cmpl $0x20, -0x14(%rbp)
jle 0x178fd
movl $0x7f, %eax
cmpl -0x14(%rbp), %eax
jg 0x17911
movl -0x3c(%rbp), %eax
movl %eax, 0x42cda(%rip)     # 0x5a5e0
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x18266
cmpl $0x3d, -0x14(%rbp)
je 0x17931
cmpl $0x3f, -0x14(%rbp)
jne 0x17926
cmpl $0x7, 0x42cc0(%rip)     # 0x5a5e4
jne 0x17931
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x18266
movl -0x3c(%rbp), %eax
movl %eax, 0x42ca6(%rip)     # 0x5a5e0
movq 0x3a9ef(%rip), %rax     # 0x52330
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x18(%rbp)
cmpl $-0x1, %eax
jne 0x1795b
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x18266
cmpl $0x3f, -0x14(%rbp)
jne 0x17bb5
cmpl $0x3d, -0x18(%rbp)
jne 0x17bb5
cmpl $0x7, 0x42c6e(%rip)     # 0x5a5e4
je 0x17bb5
movl -0x3c(%rbp), %eax
movl %eax, 0x42cd7(%rip)     # 0x5a65c
movl $0x0, -0x40(%rbp)
movl -0x54(%rbp), %eax
addl $0x5, %eax
movslq %eax, %rdi
shlq $0x0, %rdi
callq 0x11d50
movq %rax, -0x48(%rbp)
movq 0x3a95f(%rip), %rax     # 0x52308
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x17b1c
movl -0x14(%rbp), %eax
addl $-0x9, %eax
movl %eax, %ecx
movq %rcx, -0x60(%rbp)
subl $0x17, %eax
ja 0x17b1a
movq -0x60(%rbp), %rax
leaq 0x4b65(%rip), %rcx      # 0x1c540
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0xa, -0x14(%rbp)
jne 0x17a3b
movq 0x3a917(%rip), %rax     # 0x52308
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x17a1f
cmpl $0x20, -0x14(%rbp)
je 0x17a0b
cmpl $0x9, -0x14(%rbp)
jne 0x17a1f
movq 0x3a8fe(%rip), %rax     # 0x52310
movq -0x10(%rbp), %rsi
movl $0x20, %edi
callq *%rax
jmp 0x179a2
movq 0x3a8ea(%rip), %rax     # 0x52310
movl -0x14(%rbp), %edi
movq -0x10(%rbp), %rsi
callq *%rax
movl $0xa, -0x14(%rbp)
jmp 0x17ac9
movq 0x3a8c6(%rip), %rax     # 0x52308
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x17ab2
cmpl $0xa, -0x14(%rbp)
jne 0x17ab2
movq 0x3a8ab(%rip), %rax     # 0x52308
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x17a8e
cmpl $0x20, -0x14(%rbp)
je 0x17a77
cmpl $0x9, -0x14(%rbp)
jne 0x17a8e
movq 0x3a892(%rip), %rax     # 0x52310
movq -0x10(%rbp), %rsi
movl $0x20, %edi
callq *%rax
jmp 0x179a2
movq 0x3a87b(%rip), %rax     # 0x52310
movl -0x14(%rbp), %edi
movq -0x10(%rbp), %rsi
callq *%rax
movq 0x3a86b(%rip), %rax     # 0x52310
movq -0x10(%rbp), %rsi
movl $0xa, %edi
callq *%rax
jmp 0x17ac2
movq 0x3a857(%rip), %rax     # 0x52310
movl -0x14(%rbp), %edi
movq -0x10(%rbp), %rsi
callq *%rax
movl $0xd, -0x14(%rbp)
jmp 0x17b1a
movl -0x14(%rbp), %eax
movb %al, %dl
movq -0x48(%rbp), %rax
movslq -0x40(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x40(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x40(%rbp)
cmpl -0x54(%rbp), %eax
jle 0x17b15
movl -0x54(%rbp), %eax
shll %eax
movl %eax, -0x54(%rbp)
movq -0x48(%rbp), %rdi
movl -0x54(%rbp), %eax
addl $0x5, %eax
movslq %eax, %rsi
shlq $0x0, %rsi
callq 0x19020
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x179a2
jmp 0x17b1c
cmpl $0x0, -0x40(%rbp)
jle 0x17ba1
cmpl $0x3d, -0x14(%rbp)
jne 0x17b54
movq -0x48(%rbp), %rax
movl -0x40(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
je 0x17ba1
movq -0x48(%rbp), %rax
movl -0x40(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x9, %eax
je 0x17ba1
movq 0x3a7b5(%rip), %rax     # 0x52310
movl -0x14(%rbp), %edi
movq -0x10(%rbp), %rsi
callq *%rax
movl -0x40(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x40(%rbp)
cmpl $0x0, -0x40(%rbp)
jle 0x17b97
movq 0x3a796(%rip), %rax     # 0x52310
movq -0x48(%rbp), %rcx
movslq -0x40(%rbp), %rdx
movsbl (%rcx,%rdx), %edi
movq -0x10(%rbp), %rsi
callq *%rax
movl -0x40(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x17b6d
movq -0x48(%rbp), %rax
movsbl (%rax), %eax
movl %eax, -0x14(%rbp)
movq -0x48(%rbp), %rdi
callq 0xc040
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x18266
cmpl $0x3d, -0x14(%rbp)
jne 0x17bfb
cmpl $0x20, -0x18(%rbp)
jge 0x17bfb
jmp 0x17bc3
movq 0x3a766(%rip), %rax     # 0x52330
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x14(%rbp)
cmpl $0x20, %eax
jg 0x17bec
cmpl $-0x1, -0x14(%rbp)
jne 0x17bea
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x18266
jmp 0x17bc3
movl $0x51, 0x429ea(%rip)    # 0x5a5e0
jmp 0x178d2
cmpl $0x3f, -0x14(%rbp)
jne 0x17c26
movl $0x51, 0x429d5(%rip)    # 0x5a5e0
movq 0x3a726(%rip), %rax     # 0x52338
movl -0x18(%rbp), %edi
movq -0x10(%rbp), %rsi
callq *%rax
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x18266
movq 0x3a703(%rip), %rax     # 0x52330
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x1c(%rbp)
cmpl $-0x1, %eax
jne 0x17c47
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x18266
cmpl $0x20, -0x18(%rbp)
jg 0x17c58
movl -0x18(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x18266
movl $0x51, 0x4297e(%rip)    # 0x5a5e0
movl $0x30, %eax
cmpl -0x18(%rbp), %eax
jg 0x17c7d
cmpl $0x39, -0x18(%rbp)
jg 0x17c7d
movl -0x18(%rbp), %eax
subl $0x30, %eax
movl %eax, -0x64(%rbp)
jmp 0x17ccc
movl $0x41, %eax
cmpl -0x18(%rbp), %eax
jg 0x17c9b
cmpl $0x46, -0x18(%rbp)
jg 0x17c9b
movl -0x18(%rbp), %eax
subl $0x41, %eax
addl $0xa, %eax
movl %eax, -0x68(%rbp)
jmp 0x17cc6
movl $0x61, %eax
cmpl -0x18(%rbp), %eax
jg 0x17cb9
cmpl $0x66, -0x18(%rbp)
jg 0x17cb9
movl -0x18(%rbp), %eax
subl $0x61, %eax
addl $0xa, %eax
movl %eax, -0x6c(%rbp)
jmp 0x17cc0
xorl %eax, %eax
movl %eax, -0x6c(%rbp)
jmp 0x17cc0
movl -0x6c(%rbp), %eax
movl %eax, -0x68(%rbp)
movl -0x68(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0x64(%rbp), %eax
shll $0x4, %eax
movl %eax, -0x70(%rbp)
movl $0x30, %eax
cmpl -0x1c(%rbp), %eax
jg 0x17cf0
cmpl $0x39, -0x1c(%rbp)
jg 0x17cf0
movl -0x1c(%rbp), %eax
subl $0x30, %eax
movl %eax, -0x74(%rbp)
jmp 0x17d3f
movl $0x41, %eax
cmpl -0x1c(%rbp), %eax
jg 0x17d0e
cmpl $0x46, -0x1c(%rbp)
jg 0x17d0e
movl -0x1c(%rbp), %eax
subl $0x41, %eax
addl $0xa, %eax
movl %eax, -0x78(%rbp)
jmp 0x17d39
movl $0x61, %eax
cmpl -0x1c(%rbp), %eax
jg 0x17d2c
cmpl $0x66, -0x1c(%rbp)
jg 0x17d2c
movl -0x1c(%rbp), %eax
subl $0x61, %eax
addl $0xa, %eax
movl %eax, -0x7c(%rbp)
jmp 0x17d33
xorl %eax, %eax
movl %eax, -0x7c(%rbp)
jmp 0x17d33
movl -0x7c(%rbp), %eax
movl %eax, -0x78(%rbp)
movl -0x78(%rbp), %eax
movl %eax, -0x74(%rbp)
movl -0x70(%rbp), %eax
movl -0x74(%rbp), %ecx
addl %ecx, %eax
movl %eax, -0x4(%rbp)
jmp 0x18266
cmpl $0x42, 0x4288a(%rip)    # 0x5a5e0
je 0x17d77
movl $0x0, 0x4287e(%rip)     # 0x5a5e0
movq 0x3a5c7(%rip), %rax     # 0x52330
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x4(%rbp)
jmp 0x18266
movl 0x42863(%rip), %eax     # 0x5a5e0
movl %eax, -0x38(%rbp)
movl -0x3c(%rbp), %eax
movl %eax, 0x42857(%rip)     # 0x5a5e0
movq 0x3a5a0(%rip), %rax     # 0x52330
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x14(%rbp)
cmpl $0x20, %eax
jg 0x17db2
cmpl $-0x1, -0x14(%rbp)
jne 0x17db0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x18266
jmp 0x17d89
jmp 0x17db4
movq 0x3a575(%rip), %rax     # 0x52330
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x18(%rbp)
cmpl $0x20, %eax
jg 0x17e04
cmpl $-0x1, -0x18(%rbp)
jne 0x17ddb
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x18266
cmpl $0x8, 0x3a49e(%rip)     # 0x52280
je 0x17de6
jmp 0x17db4
cmpl $0x7, 0x427f7(%rip)     # 0x5a5e4
je 0x17df9
movl $0x0, 0x42863(%rip)     # 0x5a65c
movl -0x18(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x18266
cmpl $0x3f, -0x14(%rbp)
jne 0x18074
cmpl $0x3d, -0x18(%rbp)
jne 0x18074
movl $0x0, 0x4283a(%rip)     # 0x5a65c
movl $0x0, -0x40(%rbp)
movl -0x54(%rbp), %eax
addl $0x5, %eax
movslq %eax, %rdi
shlq $0x0, %rdi
callq 0x11d50
movq %rax, -0x48(%rbp)
movq 0x3a4c2(%rip), %rax     # 0x52308
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x17fdb
movl -0x14(%rbp), %eax
addl $-0x9, %eax
movl %eax, %ecx
movq %rcx, -0x88(%rbp)
subl $0x17, %eax
ja 0x17fd9
movq -0x88(%rbp), %rax
leaq 0x4662(%rip), %rcx      # 0x1c4e0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0xa, -0x14(%rbp)
jne 0x17ee1
movq 0x3a474(%rip), %rax     # 0x52308
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x17ec5
cmpl $0x20, -0x14(%rbp)
je 0x17eae
cmpl $0x9, -0x14(%rbp)
jne 0x17ec5
movq 0x3a45b(%rip), %rax     # 0x52310
movq -0x10(%rbp), %rsi
movl $0x20, %edi
callq *%rax
jmp 0x17e3f
movq 0x3a444(%rip), %rax     # 0x52310
movl -0x14(%rbp), %edi
movq -0x10(%rbp), %rsi
callq *%rax
movl $0xa, -0x14(%rbp)
jmp 0x17f88
movq 0x3a420(%rip), %rax     # 0x52308
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x17f71
cmpl $0x20, -0x14(%rbp)
jne 0x17f13
movq 0x3a40d(%rip), %rax     # 0x52310
movq -0x10(%rbp), %rsi
movl $0x20, %edi
callq *%rax
jmp 0x17e3f
movq 0x3a3ee(%rip), %rax     # 0x52308
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x17f4b
cmpl $0x20, -0x14(%rbp)
je 0x17f34
cmpl $0x9, -0x14(%rbp)
jne 0x17f4b
movq 0x3a3d5(%rip), %rax     # 0x52310
movq -0x10(%rbp), %rsi
movl $0x20, %edi
callq *%rax
jmp 0x17e3f
movq 0x3a3be(%rip), %rax     # 0x52310
movl -0x14(%rbp), %edi
movq -0x10(%rbp), %rsi
callq *%rax
jmp 0x17f5d
movq 0x3a3ac(%rip), %rax     # 0x52310
movq -0x10(%rbp), %rsi
movl $0xa, %edi
callq *%rax
jmp 0x17f81
movq 0x3a398(%rip), %rax     # 0x52310
movl -0x14(%rbp), %edi
movq -0x10(%rbp), %rsi
callq *%rax
movl $0xd, -0x14(%rbp)
jmp 0x17fd9
movl -0x14(%rbp), %eax
movb %al, %dl
movq -0x48(%rbp), %rax
movslq -0x40(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x40(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x40(%rbp)
cmpl -0x54(%rbp), %eax
jle 0x17fd4
movl -0x54(%rbp), %eax
shll %eax
movl %eax, -0x54(%rbp)
movq -0x48(%rbp), %rdi
movl -0x54(%rbp), %eax
addl $0x5, %eax
movslq %eax, %rsi
shlq $0x0, %rsi
callq 0x19020
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x48(%rbp)
jmp 0x17e3f
jmp 0x17fdb
cmpl $0x0, -0x40(%rbp)
jle 0x18060
cmpl $0x3d, -0x14(%rbp)
jne 0x18013
movq -0x48(%rbp), %rax
movl -0x40(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
je 0x18060
movq -0x48(%rbp), %rax
movl -0x40(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x9, %eax
je 0x18060
movq 0x3a2f6(%rip), %rax     # 0x52310
movl -0x14(%rbp), %edi
movq -0x10(%rbp), %rsi
callq *%rax
movl -0x40(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x40(%rbp)
cmpl $0x0, -0x40(%rbp)
jle 0x18056
movq 0x3a2d7(%rip), %rax     # 0x52310
movq -0x48(%rbp), %rcx
movslq -0x40(%rbp), %rdx
movsbl (%rcx,%rdx), %edi
movq -0x10(%rbp), %rsi
callq *%rax
movl -0x40(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x1802c
movq -0x48(%rbp), %rax
movsbl (%rax), %eax
movl %eax, -0x14(%rbp)
movq -0x48(%rbp), %rdi
callq 0xc040
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x18266
jmp 0x18076
movq 0x3a2b3(%rip), %rax     # 0x52330
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x1c(%rbp)
cmpl $0x20, %eax
jg 0x180c6
cmpl $-0x1, -0x1c(%rbp)
jne 0x1809d
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x18266
cmpl $0x8, 0x3a1dc(%rip)     # 0x52280
je 0x180a8
jmp 0x18076
cmpl $0x7, 0x42535(%rip)     # 0x5a5e4
je 0x180bb
movl $0x0, 0x425a1(%rip)     # 0x5a65c
movl -0x1c(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x18266
jmp 0x180c8
movq 0x3a261(%rip), %rax     # 0x52330
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, -0x20(%rbp)
cmpl $0x20, %eax
jg 0x18118
cmpl $-0x1, -0x20(%rbp)
jne 0x180ef
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x18266
cmpl $0x8, 0x3a18a(%rip)     # 0x52280
je 0x180fa
jmp 0x180c8
cmpl $0x7, 0x424e3(%rip)     # 0x5a5e4
je 0x1810d
movl $0x0, 0x4254f(%rip)     # 0x5a65c
movl -0x20(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x18266
movl -0x38(%rbp), %eax
movl %eax, 0x424bf(%rip)     # 0x5a5e0
movl -0x14(%rbp), %edi
callq 0x19080
andl $0x3f, %eax
movl %eax, -0x28(%rbp)
movl -0x18(%rbp), %edi
callq 0x19080
andl $0x3f, %eax
movl %eax, -0x2c(%rbp)
movl -0x1c(%rbp), %edi
callq 0x19080
andl $0x3f, %eax
movl %eax, -0x30(%rbp)
movl -0x20(%rbp), %edi
callq 0x19080
andl $0x3f, %eax
movl %eax, -0x34(%rbp)
movl -0x28(%rbp), %eax
shll $0x2, %eax
andl $0xfc, %eax
movl -0x2c(%rbp), %ecx
sarl $0x4, %ecx
andl $0x3, %ecx
orl %ecx, %eax
movl %eax, -0x24(%rbp)
cmpl $0x3d, -0x18(%rbp)
je 0x18236
movl -0x24(%rbp), %eax
movb %al, %dl
movl 0x428e9(%rip), %eax     # 0x5aa70
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x428de(%rip)     # 0x5aa70
andl $0x3ff, %eax            # imm = 0x3FF
movl %eax, %eax
movl %eax, %ecx
leaq 0x424ca(%rip), %rax     # 0x5a66c
movb %dl, (%rax,%rcx)
movl -0x2c(%rbp), %eax
shll $0x4, %eax
andl $0xf0, %eax
movl -0x30(%rbp), %ecx
sarl $0x2, %ecx
andl $0xf, %ecx
orl %ecx, %eax
movl %eax, -0x24(%rbp)
cmpl $0x3d, -0x1c(%rbp)
je 0x18234
movl -0x24(%rbp), %eax
movb %al, %dl
movl 0x428a1(%rip), %eax     # 0x5aa70
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x42896(%rip)     # 0x5aa70
andl $0x3ff, %eax            # imm = 0x3FF
movl %eax, %eax
movl %eax, %ecx
leaq 0x42482(%rip), %rax     # 0x5a66c
movb %dl, (%rax,%rcx)
movl -0x30(%rbp), %eax
shll $0x6, %eax
andl $0xc0, %eax
movl -0x34(%rbp), %ecx
andl $0x3f, %ecx
orl %ecx, %eax
movl %eax, -0x24(%rbp)
cmpl $0x3d, -0x20(%rbp)
je 0x18232
movl -0x24(%rbp), %eax
movb %al, %dl
movl 0x4285c(%rip), %eax     # 0x5aa70
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x42851(%rip)     # 0x5aa70
andl $0x3ff, %eax            # imm = 0x3FF
movl %eax, %eax
movl %eax, %ecx
leaq 0x4243d(%rip), %rax     # 0x5a66c
movb %dl, (%rax,%rcx)
jmp 0x18234
jmp 0x1823e
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x18266
movl 0x42828(%rip), %eax     # 0x5aa6c
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0x4281d(%rip)     # 0x5aa6c
andl $0x3ff, %eax            # imm = 0x3FF
movl %eax, %eax
movl %eax, %ecx
leaq 0x4240d(%rip), %rax     # 0x5a66c
movzbl (%rax,%rcx), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)